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
我不确定为什么会收到此错误,并希望有人可以让我知道我需要在这里做什么?
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
这里是发生语法错误的完整代码行。同样,我不确定为什么会收到此错误。据我所知,它与我用Atom编写的代码没有任何关系,但是它是Django的widgets.py文件中实际代码行的一部分。
答案 0 :(得分:1)
您忘记了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