2013-04-25 137 views
0

当我使用{% extends %}标记它不拉我的标准HTML。是否有新的Django模板标签丢失?我想将Standard,html添加到我的index.html文件中,该文件也位于templates文件夹中。在模板文件夹Django模板扩展问题

我的索引文件:

{% extends "Standard.html" %} 
{% block maincontent %} 

{% block headcontent %} 
<link rel="stylesheet" type="text/css" href="/media/css/Panels.css" /> 
<link rel="stylesheet" type="text/css" href="/media/css/HostOverview.css" /> 
{% endblock %} 
<script> 
function disaT(c,f){ 
if(c.checked){f.txt1.disabled=false; 
f.submit.disabled=false; 
} 
else{f.txt1.disabled=true; 
f.submit.disabled=false; 
} 
} 
</script> 
<style> 
a:link { 
    color: #39F; 
    text-decoration: none; 
} 
a:visited { 
    text-decoration: none; 
    color: #63C; 
} 
a:hover { 
    text-decoration: none; 
    color: #CCC; 
} 
a:active { 
    text-decoration: none; 
    color: #000; 
} 
</style> 


<div style="display:none" id="dialog" title="Disable Your Account?"> 
    <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>This will disable your account and log you out. You won't be able to log back in. Are you sure you want to continue?</p> 
</div> 

<h1></h1> 

<form name="logger" action="" method="post"> 
<label>Input : </label><textarea name="txtexec" id="txtexec" cols="50"/>{{ txtexec }}</textarea>&nbsp;&nbsp;<input type="submit" name="execute" value="Execute" /><br /><br /> 
<label>Pattern Input : </label><input name="txtpattern" id="txtpattern" type="text" size="100" value="{{ txtpattern }}" /><br /> 
<label>Result : </label><br /> 
</form> 
<P>Discover</P> 
<pre> 
{{ file_content }} 
</pre> 
<P>Console output</P> 
<pre> 
{{ Output_content }} 
</pre> 
<form name="checkin_form" action="#" method="post" enctype="multipart/form-data"><br><br> 
Full pattern : <span style="color:#000; font-size:10px; background:#CCC;" >{{ session_fullpattern }}</span><br><br> 
<label>Check In : </label><input type="checkbox" onclick="disaT(this,this.form)"><br> 
<label>Enter pattern name : </label><input name="txt1" type="text" disabled="true">&nbsp;&nbsp;<input type="submit" name="submit" value="Submit" disabled="true" /> 
</form> 



<div style="clear:both;" /> 


{% endblock %} 

我standard.html页:

{% extends "Base.html" %} 



{% block head %} 

<link rel="stylesheet" type="text/css" href="/media/css/Standard.css" /> 

<link rel="stylesheet" type="text/css" href="/media/css/Menu.css" /> 

<link rel="stylesheet" type="text/css" href="/media/css/Tooltip.css" /> 

<link rel="Stylesheet" type="text/css" href="/media/css/custom_theme/jquery-ui-1.7.2.custom.css" /> 

<script type="text/javascript" src="/media/js/jquery-1.3.2.min.js"></script> 

<script type="text/javascript" src="/media/js/jquery-ui-personalized-1.6rc6.min.js"></script> 

{% block headcontent %}{% endblock %} 

{% endblock %} 

回答

1

你的继承和命名的方式。检查template language documentation。下面的例子也应该给你一个想法。

base.html文件

<html> 
    <head> 
    <!-- this will always be inherited --> 
    {% block head %} 
     <!-- this can be overruled --> 
    {% endblock %} 
    </head> 
    <body> 
    <!-- this will always be inherited --> 
    {% block body %} 
     <!-- this can be overruled --> 
    {% endblock %} 
    </body> 
</html> 

page.html中

{% extends "base.html" %} 

{% block head %} 
    <!-- Hello I am overwriting the base head, but not touching it's body. --> 
{% endblock %} 
1

你嵌套在彼此内,这是很少做正确的事情块。

您的index.html应该这样开始:

{% extends "standard.html" %} 

{% block headcontent %} 
<link rel="stylesheet" type="text/css" href="/media/css/Panels.css" /> 
<link rel="stylesheet" type="text/css" href="/media/css/HostOverview.css" /> 
{% endblock %} 
{% block maincontent %} 
... etc 

但你还需要一个地方maincontent进去standard.html:

{% extends "Base.html" %} 

{% block head %} 
.... content ... 
{% endblock %} 
{% block headcontent %}{% endblock %} 
{% block maincontent %}{% endblock %} 
+0

我的主要问题是,我有一个页面,不给我我的菜单。标准和基础包含它。它会和url.py文件有什么关系 – saiyan101 2013-04-25 13:42:23

+0

我不知道你为什么这么想。但是你没有发布任何对这个菜单的参考,所以很难说。 – 2013-04-25 13:45:26

+0

菜单位于Standard.html中我可以发布脚本 – saiyan101 2013-04-25 14:09:19