尝试将自定义页面添加到管理员。我希望此页面具有与admin
中django-admin-tools
中的任何其他页面相同的标题和上层菜单。
除了欢迎部分,一切似乎都还可以。
如您所见,缺少右上部分。
这是我的基本模板:
{% extends "admin:admin/app_index.html" %}
{% load django_tables2 %}
{% block extrastyle %}
{{ block.super }}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.min.css">
{% endblock %}
{% block extrahead %}
{{ block.super }}
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.min.js"></script>
<script>
$(document).ready(function () {
$(".datepicker").datepicker(
{
format: 'dd.mm.yyyy'
}
);
})
</script>
{% endblock %}
{% block content %}
{{ block.super }}
{% block render_home_table %}
<section class="home_table_section">
<button class="copy_table_to_cb">Clipboard</button>
{% render_table home_table %}
</section>
{% endblock %}
{% block render_away_table %}
<button class="copy_table_to_cb">Clipboard</button>
<section class="away_table_section">
{% render_table away_table %}
</section>
{% endblock %}
{% endblock %}
如何解决此问题?我需要扩展另一个模板吗?
答案 0 :(得分:0)
使用此代码:
{% if not is_popup %}
<!-- Header -->
<div id="header">
<div id="branding">
{% block branding %}{% endblock %}
</div>
{% block usertools %}
{% if has_permission %}
<div id="user-tools">
{% block welcome-msg %}
{% trans 'Welcome,' %}
<strong>{% firstof user.get_short_name user.get_username %}</strong>.
{% endblock %}
/ <a href="/analytics">View Analytics</a> /
{% block userlinks %}
{% if site_url %}
<a href="{{ site_url }}">{% trans 'View site' %}</a> /
{% endif %}
{% if user.is_active and user.is_staff %}
{% url 'django-admindocs-docroot' as docsroot %}
{% if docsroot %}
<a href="{{ docsroot }}">{% trans 'Documentation' %}</a> /
{% endif %}
{% endif %}
{% if user.has_usable_password %}
<a href="{% url 'admin:password_change' %}">{% trans 'Change
password' %}</a> /
{% endif %}
<a href="{% url 'admin:logout' %}">{% trans 'Log out' %}</a>
{% endblock %}
</div>
{% endif %}
{% endblock %}
{% block nav-global %}{% endblock %}
</div>
之后,您需要将这些参数传递到呈现此页面的 views
中的return语句中。
from django.contrib.admin import AdminSite
class MyAdminSite(admin.AdminSite):
pass
mysite = MyAdminSite()
return render(request, 'analytics.html', {'user': request.user,'site_header': mysite.site_header,'has_permission': mysite.has_permission(request), 'site_url': mysite.site_url})