嗨,我是django的新手,我正在努力建立一个网站。我的项目结构目前是这样的:
project/
manage.py
project/
__init__.py
settings.py
urls.py
myapps/
__init__.py
main/
__init__,models,views,urls,etc...
static/
main/
templates/
main/
我正在使用html5boilerplate,所有的css,javascript和图片都位于
myapps/main/static/main/
我的所有模板都在
中myapps/main/templates/main/
拥有独特的名字。当用户点击主页面时,他们会加载html5bp附带的略微修改的index.html(重命名为boilerplate.html):
<!-- boilerplate.html -->
{% load static %}
...
<body>
<!--[if lt IE 8]>
...
<![endif]-->
<!-- Add your site or application content here -->
{% include "main/index.html" %}
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="{% static 'main/js/plugins.js' %}"></script>
<script src="{% static 'main/js/main.js' %}"></script>
<!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
<script>
...
</script>
</body>
...
我正在使用index.html作为我的静态侧边栏,但是我将它放在一个单独的模板中,以防我想要改变它,它将无聊的东西与有趣的东西分开(谁喜欢看bp代码? )。
<!-- index.html -->
<div id="sidenav" class="sidenav">
...
</div>
<div id="main">
{% include /*SOMETHING HERE*/ %}
</div>
现在,每当用户被重定向到新页面时,我只想解析目标网址并更改包含标记以包含完全不同的模板。所以我想我必须将请求的URL传递给视图函数并从中返回一个模板,但我不确定如何执行此操作或是否可行。对不起,如果这是某个地方的重复问题,我确实看了,找不到任何相关内容。
答案 0 :(得分:1)
你正在以错误的方式思考这个问题:你应该使用模板继承。您的视图应该呈现该URL的特定模板,但每个模板应该依次扩展index.html,它提供侧边栏和结构的其余部分。