Django-撤消自定义管理员URL

时间:2017-05-31 20:34:36

标签: python django django-templates django-views django-admin

我正在使用将某些管理员网址配置为:

的应用
#admin.py....
    def get_urls(self):
            urls = super(FormAdmin, self).get_urls()
            extra_urls = [
                url("^(?P<form_id>\d+)/entries/$",
                    self.admin_site.admin_view(self.entries_view),
                    name="form_entries"),
            #......
            ]
            return extra_urls + urls

在我的某个模板中,我无法使用模板标记获取与其对应的网址。我尝试过这样的事情:

<a href="{% url 'admin:forms_form_entries' form_id=4 %}">4-Entries</a>

(表格是App的标签)。我一直遇到No Reverse Match类型的错误:

  

NoReverseMatch at / polls / Reverse for&#39; forms_form_entries&#39;同   论证&#39;(4,)&#39;和关键字参数&#39; {}&#39;未找到。 0个图案   尝试过:[]

我错过了什么使标签正常工作?

2 个答案:

答案 0 :(得分:2)

在html中试试这个

<a href="{% url 'admin:form_entries' form_id=4 %}">4-Entries</a>

答案 1 :(得分:1)

您的网址格式名称form_entries与网址标记中的forms_form_entries不匹配。 Django不会自动为模式名称添加前缀<app_name>_,因为您似乎期待。

更改其中一个以便它们匹配。