gpt4 book ai didi

Django-grappelli 管理员 : No reverse match error

转载 作者:行者123 更新时间:2023-12-04 11:20:49 26 4
gpt4 key购买 nike

我已经在一个 django 项目上工作了一段时间,现在管理员使用 grappelli,今天突然我的 change_form.html 模板抛出以下错误:

Caught NoReverseMatch while rendering: Reverse for "grp_related_lookup" with arguments '()' and keyword arguments '{}' not found.

有问题的代码行是第 38 行:

37    $.each(related_lookup_fields_fk, function() {
38 $("#id_" + this).grp_related_fk({lookup_url:"{% url grp_related_lookup %}"});
39 });

前面是这段代码:

var related_lookup_fields_fk = {% get_related_lookup_fields_fk adminform.model_admin %};

显然是 {% url grp_related_lookup %}导致问题的位。

我不明白模板是如何解析的 grp_related_lookupgrappelli.views.related.related_lookup .我试过更换 grp_related_lookupgrappelli.views.related.related_lookup这也不起作用。此外,在模板中,违规行如下所示:

$("#id_" + this).grp_related_fk({lookup_url:"{% url grp_related_lookup %}"});

但在错误消息中,它看起来像这样:

$("#id_" + this).grp_related_fk({lookup_url:"{% url 'grp_related_lookup' %}"});

不知道 grp_related_lookup周围的单引号有没有可能与问题有关或无关。这就是 Django 呈现函数调用的方式吗?是否通过字符串 'grp_related_lookup'到 url 模板标签?如果是这样,可能是什么原因导致它突然中断?

一些额外的信息:
  • related_lookup_fields的值是一个空列表 [] .我没有定义任何 related_lookup_fields在我的 admin.py 中。
  • 我将几个调试语句放入 grappelli.views.related.related_lookup查看函数,它似乎没有被调用。
  • 我最近没有接触任何模板。

  • 希望有人能指出我正确的方向......谢谢!

    最佳答案

    你的 URLconf 中还有 'grappelli.urls' 吗?这是我认为会导致此错误的唯一原因。您可以尝试使用 python manage.py shell :

    from django.core.urlresolvers import reverse
    print reverse('grp_related_lookup')

    如果此行返回正确的 URL,则模板中不应出现 NoReverseMatch
    grp_related_lookup 周围的引号不应该是一个问题。 {% url %} 标签接受带引号和不带引号的字符串作为第一个参数,因此 django 将其规范化为带引号的字符串。这种行为将来会发生变化:您将能够使用不带引号的字符串将模板变量传递给 {% url %}{% url foo %}{% url "foo" %} 不会给出相同的结果,有关详细信息,请参阅 1.3 release notes

    关于Django-grappelli 管理员 : No reverse match error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7182532/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com