简体   繁体   English

为什么我会收到这个无效的语法错误?

[英]Why am I getting this invalid syntax error?

   from django.contrib.admin import helpers, widgets
  File "/Users/Scott/Desktop/myvirtualenv/crazy/lib/python3.7/site-packages/django/contrib/admin/widgets.py", line 152
    


context['related_url'] = mark_safe(related_url)
          ^
SyntaxError: invalid syntax

I'm not sure why I am getting this error and was hoping someone could let me know what I need to do here?我不确定为什么会收到此错误,并希望有人可以让我知道我需要在这里做什么?

def get_context(self, name, value, attrs):
    context = super(ForeignKeyRawIdWidget, self).get_context(name, value, attrs)
    rel_to = self.rel.model
    if rel_to in self.admin_site._registry:
        # The related object is registered with the same AdminSite
        related_url = reverse(
            'admin:%s_%s_changelist' % (
                rel_to._meta.app_label,
                rel_to._meta.model_name,
            ),
            current_app=self.admin_site.name,
        )

        params = self.url_parameters()
        if params:
            related_url += '?' + '&'.join(
                ('%s=%s' % (k, v) for k, v in params.items())
        context['related_url'] = mark_safe(related_url)
        context['link_title'] = _('Lookup')
        # The JavaScript code looks for this class.
        context['widget']['attrs'].setdefault('class', 'vForeignKeyRawIdAdminField')
    if context['widget']['value']:
        context['link_label'], context['link_url'] = self.label_and_url_for_value(value)
    return context

Here is the full line of code from where the syntax error is occurring.这是发生语法错误的完整代码行。 Again I am not sure why I am getting this error.同样,我不确定为什么会收到此错误。 From what I can tell it doesn't have anything to do with the code I've written in Atom but is part of the actual line of coding in the widgets.py file for Django.据我所知,它与我用 Atom 编写的代码没有任何关系,但它是 Django 的 widgets.py 文件中实际编码行的一部分。

You forgot a closing parenthesis in the line above the SyntaxError.您忘记了 SyntaxError 上方行中的右括号。

def get_context(self, name, value, attrs):
    context = super(ForeignKeyRawIdWidget, self).get_context(name, value, attrs)
    rel_to = self.rel.model
    if rel_to in self.admin_site._registry:
        # The related object is registered with the same AdminSite
        related_url = reverse(
            'admin:%s_%s_changelist' % (
                rel_to._meta.app_label,
                rel_to._meta.model_name,
            ),
            current_app=self.admin_site.name,
        )

        params = self.url_parameters()
        if params:
            related_url += '?' + '&'.join(
                ('%s=%s' % (k, v) for k, v in params.items()))  # Added a )
        context['related_url'] = mark_safe(related_url)
        context['link_title'] = _('Lookup')
        # The JavaScript code looks for this class.
        context['widget']['attrs'].setdefault('class', 'vForeignKeyRawIdAdminField')
    if context['widget']['value']:
        context['link_label'], context['link_url'] = self.label_and_url_for_value(value)
    return context

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM