我已经在django项目上工作了一段时间,现在使用grappelli作为管理员,今天突然间我的change_form.html模板抛出了以下错误:
Caught NoReverseMatch while rendering: Reverse for "grp_related_lookup" with arguments '()' and keyword arguments '{}' not found.
Run Code Online (Sandbox Code Playgroud)
令人讨厌的代码行是第38行:
37 $.each(related_lookup_fields_fk, function() {
38 $("#id_" + this).grp_related_fk({lookup_url:"{% url grp_related_lookup %}"});
39 });
Run Code Online (Sandbox Code Playgroud)
之前是这段代码:
var related_lookup_fields_fk = {% get_related_lookup_fields_fk adminform.model_admin %};
Run Code Online (Sandbox Code Playgroud)
显然这是{% url grp_related_lookup %}导致问题的一点.
我不明白模板是如何解决grp_related_lookup的grappelli.views.related.related_lookup.我曾尝试更换grp_related_lookup与grappelli.views.related.related_lookup那也不能工作.此外,在模板中,违规行看起来像这样:
$("#id_" + this).grp_related_fk({lookup_url:"{% url grp_related_lookup %}"});
Run Code Online (Sandbox Code Playgroud)
但在错误消息中它看起来像这样:
$("#id_" + this).grp_related_fk({lookup_url:"{% url 'grp_related_lookup' %}"});
Run Code Online (Sandbox Code Playgroud)
我不知道周围的单引号grp_related_lookup是否与问题有关.这是django如何呈现函数调用?它是否将字符串传递'grp_related_lookup'给url模板标记?如果是这样的话,可能会导致这种情况突然破裂?
一些额外的信息:
related_lookup_fields空列表[].我没有 …