【发布时间】:2015-03-23 13:10:06
【问题描述】:
如何将页面链接到 django 的管理页面? 我曾尝试更改 base.html 页面,但它会反映到管理员的所有 html 页面。这是否可以仅链接到列出所有应用程序的管理员索引页面。
【问题讨论】:
-
删除多余的内容
如何将页面链接到 django 的管理页面? 我曾尝试更改 base.html 页面,但它会反映到管理员的所有 html 页面。这是否可以仅链接到列出所有应用程序的管理员索引页面。
【问题讨论】:
您必须覆盖 Django 管理 index.html 页面
第一步:
在您的模板文件夹中创建新文件,例如将其命名为“index.html”。 例如文件路径将类似于:'YOUR_PROJECT/templates/admin/index.html' 并复制以下代码:
{% extends "admin/index.html" %}
{% block content %}
<h1>YOUR EXTRA CODE</h1>
{{ block.super }}
{% endblock %}
第二步:
在 YOUR_MAIN_PROJECT 文件夹中创建新文件 - 与 settings.py 并排 - 将其命名为 admin.py 并复制以下代码:
from django.contrib.admin import AdminSite
class CustomAdmin(AdminSite):
index_template = 'admin/base_site.html'
custom_admin_site = CustomAdmin(name='admin')
第三步:
在 YOUR_APP admin.py 文件中输入以下代码:
from YOUR_MAIN_PROJECT.admin import custom_admin_site
from .models import YOUR_MODEL_1, YOUR_MODEL_2
custom_admin_site.register(YOUR_MODEL_1)
custom_admin_site.register(YOUR_MODEL_2)
希望对您有所帮助,感谢您的回复
【讨论】:
<a href="{% url 'admin:index' %}">Admin panel</a>
但是你必须在你的 URLS.py 中添加 admin.site.urls
url(r'^admin/', include(admin.site.urls)),
但是,如果您尝试在您的某个站点(比如说索引)中呈现管理站点:
url(r'', include(admin.site.urls)),
这应该可以解决问题
【讨论】:
your_env/local/lib/python_version/django/contrib/admin/templates