Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-添加带有自定义管理员页面href的链接_Django - Fatal编程技术网

Django-添加带有自定义管理员页面href的链接

Django-添加带有自定义管理员页面href的链接,django,Django,在我的Django项目中,我通过get\u url()方法为一个应用程序创建了一个自定义管理页面。我想在应用程序的主模型索引视图中添加一个链接,将用户带到这个自定义页面-但是,我在正确创建这个链接元素时遇到了一些问题,我似乎无法正确地拼凑起来-我只剩下了一个反向的“export”未找到“导出”不是有效的视图函数或模式名称。错误 我已经为应用程序设置了管理员,如下所示: # my_project/observations/admin.py from django.template.respons

在我的Django项目中,我通过
get\u url()
方法为一个应用程序创建了一个自定义管理页面。我想在应用程序的主模型索引视图中添加一个链接,将用户带到这个自定义页面-但是,我在正确创建这个链接元素时遇到了一些问题,我似乎无法正确地拼凑起来-我只剩下了一个
反向的“export”未找到“导出”不是有效的视图函数或模式名称。
错误

我已经为应用程序设置了管理员,如下所示:

# my_project/observations/admin.py

from django.template.response import TemplateResponse
from django.urls import path

class ObservationAdmin(SimpleHistoryAdmin, SoftDeletionModelAdmin):
    change_list_template = 'export_link.html'

    def get_urls(self):
        urls = super().get_urls()
        custom_urls = [
            path('export/', self.admin_site.admin_view(self.export_view), name='export')
        ]

        return custom_urls + urls

    def export_view(self, request):
        context = dict(
           self.admin_site.each_context(request),
        )

        return TemplateResponse(request, 'export.html', context)
以及引用的两个模板:

# my_project/observations/templates/export.html

{% extends "admin/base_site.html" %}
{% block content %}
<div>
    Some custom content
</div>
{% endblock %}
#我的项目/observations/templates/export.html
{%extends“admin/base_site.html”%}
{%block content%}
一些自定义内容
{%endblock%}
#我的项目/observations/templates/export_link.html
{%extends'admin/change\u list.html%}
{%block object tools items%}
  • {{block.super}} {%endblock%}
    直接导航到
    http://localhost:8000/admin/observations/observation/export/
    工作正常,我看到的自定义内容页完全符合我的要求。。。因此,我要强调的是链接模板的问题-当我导航到模型索引页面时,我得到了
    反向…
    错误

    也许我传递给
    url
    的参数不正确,或者我需要在其他地方注册该url,但我不太清楚。我能找到的其他类似链接元素的示例不引用通过admin类“
    get\u url()
    方法创建的URL,因此对此的任何指导都将不胜感激


    非常感谢,请告诉我是否有任何其他信息可以帮助解决此问题。

    我认为问题在于您的
    导出链接.html
    模板中缺少。而不是:

    <a href="{% url 'export' %}" class="btn btn-high btn-success">Export</a>
    
    
    
    尝试:


    谢谢!这太棒了——在其他例子中,我看到名称空间很重要,但我不清楚它在这里如何应用。非常感谢。
    <a href="{% url 'export' %}" class="btn btn-high btn-success">Export</a>
    
    <a href="{% url 'admin:export' %}" class="btn btn-high btn-success">Export</a>