![](/img/trans.png)
[英]How to change django admin "view site" link to custom absolute url
[英]Django: How to change “view on site” url of admin button
在我的应用程序中,我使用的是django-photologue(第3部分应用程序),并且在其默认配置中,“查看网站”管理按钮指向其模板。
我已经阅读过“在网站上查看”按钮使用get_absolute_url()模型函数来实现其行为。
我需要更改“在网站上查看”按钮后面的网址。 我是否需要重写get_absolute_url()或编辑其他内容?
提前致谢。
如果可以避免,则不应更改第三方应用程序的文件,因为本质上您将需要维护该应用程序的分支。 您可以覆盖管理模板中的object-tools
块,而不是覆盖get_absolute_url
。 像这样:
{% extends "admin/change_form.html" %}
{% block object-tools %}
{% if change %}{% if not is_popup %}
<ul class="object-tools">
{% block object-tools-items %}
<li>
{% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %}
<a href="{% add_preserved_filters history_url %}" class="historylink">{% trans "History" %}</a>
</li>
{% if has_absolute_url %}<li><a href="{% url 'your-custom-view-here' original.pk %}" class="viewsitelink">{% trans "View on site" %}</a></li>{% endif%}
{% endblock %}
</ul>
{% endif %}{% endif %}
{% endblock %}
将其另存为templates/admin/photologue/<modelnamehere>/change_form.html
的模型templates/admin/photologue/<modelnamehere>/change_form.html
(将<modelnamehere>
更改为要自定义的模型)
在Django的未来版本(我想是1.7)中,您将可以重写view_on_site
方法来执行相同的操作。
在Django文档中提出了重写get_absolute_URL()的建议,所以它应该很好。
请参阅: 其他模型实例方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.