无法正确扩展模板 - 父模板中缺少元素
Posted
技术标签:
【中文标题】无法正确扩展模板 - 父模板中缺少元素【英文标题】:Can't extend templates correctly - missing elements from parent template 【发布时间】:2017-02-20 09:34:32 【问题描述】:我正在尝试创建两个我想在 Django 管理员中使用的表。我知道我必须扩展什么模板,但我不知道为什么缺少一些元素。例如注销、欢迎文本等。我想在那里有普通的 Django 管理标题。
这是一个常规的 django 管理标题 - 右侧(带有主题,所以有绿色):
这是扩展模板的标题: 我附上了我的模板和管理员 base.html:
% extends "admin/base.html" %
% load static %
% load i18n %
% load render_table from django_tables2 %
% block title %
Admin Pairing
% endblock %
% block extrahead ..... endblock %
% block branding %% trans "Pairing Rides" %% endblock %
% block content %
<h2>% trans "Candidate pair reservations" %</h2>
<br>
% render_table table %
<hr>
<h2>% trans "Existing pair reservations" %</h2>
% render_table table_existing %
<div class="overlay">
<div id="loading-img"></div>
</div>
% endblock %
这是我扩展的模板:
% load i18n admin_static %<!DOCTYPE html>
% get_current_language as LANGUAGE_CODE %% get_current_language_bidi as LANGUAGE_BIDI %
<html lang=" LANGUAGE_CODE|default:"en-us" " % if LANGUAGE_BIDI %dir="rtl"% endif %>
<head>
<title>% block title %% endblock %</title>
<link rel="stylesheet" type="text/css" href="% block stylesheet %% static "admin/css/base.css" %% endblock %" />
% block extrastyle %% endblock %
% if LANGUAGE_BIDI %<link rel="stylesheet" type="text/css" href="% block stylesheet_rtl %% static "admin/css/rtl.css" %% endblock %" />% endif %
% block extrahead %% endblock %
% block blockbots %<meta name="robots" content="NONE,NOARCHIVE" />% endblock %
</head>
% load i18n %
<body class="% if is_popup %popup % endif %% block bodyclass %% endblock %"
data-admin-utc-offset="% now "Z" %">
<!-- Container -->
<div id="container">
% 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 %
% 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>
<!-- END Header -->
% block breadcrumbs %
<div class="breadcrumbs">
<a href="% url 'admin:index' %">% trans 'Home' %</a>
% if title % › title % endif %
</div>
% endblock %
% endif %
% block messages %
% if messages %
<ul class="messagelist">% for message in messages %
<li% if message.tags % class=" message.tags "% endif %> message|capfirst </li>
% endfor %</ul>
% endif %
% endblock messages %
<!-- Content -->
<div id="content" class="% block coltype %colM% endblock %">
% block pretitle %% endblock %
% block content_title %% if title %<h1> title </h1>% endif %% endblock %
% block content %
% block object-tools %% endblock %
content
% endblock %
% block sidebar %% endblock %
<br class="clear" />
</div>
<!-- END Content -->
% block footer %<div id="footer"></div>% endblock %
</div>
<!-- END Container -->
</body>
</html>
为什么在我的情况下没有这样的标题?
例如:
<strong>% firstof user.get_short_name user.get_username %</strong>
有条件% if has_permission %
应该为 True,因为我使用超级用户帐户打开此页面。
编辑:
我发现has_permission
是False
。不知道为什么。
【问题讨论】:
【参考方案1】:我刚才遇到了同样的问题,“has_permission”是一个变量,然后从视图传递到模板。 ;)
【讨论】:
以上是关于无法正确扩展模板 - 父模板中缺少元素的主要内容,如果未能解决你的问题,请参考以下文章
ElasticElastic缺少xpack无法创建模板 unknown setting index.lifecycle.name index.lifecycle.rollover_alias