gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 08:09:22 26 4
gpt4 key购买 nike

在我的 Django 项目中,我通过 get_urls() 创建了一个应用程序的自定义管理页面。方法。我想添加一个指向应用程序主模型索引 View 的链接,该链接会将用户带到此自定义页面 - 但是,我在正确创建此链接元素时遇到了一些问题,而且我似乎无法拼凑正确的方法 - 我只剩下一个 Reverse for 'export' not found. 'export' is not a valid view function or pattern name.错误。
我已经为应用程序设置了管理员,如下所示:

# 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 %}
# my_project/observations/templates/export_link.html

{% extends 'admin/change_list.html' %}

{% block object-tools-items %}
<li>
<a href="{% url 'export' %}" class="btn btn-high btn-success">Export</a>
</li>
{{ block.super }}
{% endblock %}
直接导航到 http://localhost:8000/admin/observations/observation/export/完美运行,我看到的自定义内容页面与我想要的完全一样......所以我注意到的问题是链接模板 - 我得到了 Reverse...导航到模型索引页面时出错。
也许我要传递给 url 的论点不正确,或者我需要在别处注册该 URL - 但我不太清楚。我能够找到的链接元素的其他示例不引用通过管理类创建的 URL get_urls()方法 - 所以任何关于这方面的指导将不胜感激。
非常感谢,如果我可以提供任何其他信息来帮助解决这个问题,请告诉我。

最佳答案

我认为问题在于缺少 namespace在您的 export_link.html模板。代替:

<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>

关于Django - 添加带有自定义管理页面 href 的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66056545/

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