您可以使用所有<head> 和<script> 等元素和
创建一个
site_base.html
<!-- HEAD -->
{% block content %}
<div class='container' id="default_container">
Your default content
</div>
{% endblock content %}
<!-- FOOT -->
然后在您的 urls.py 中确定“路径” - 指向您的视图的 URL。如果你想要一个简单的平面页面,你可以把TemplateView.as_view(template_name = "page_1.html") 喜欢:
urlpatterns = patterns('',
(r'^$', TemplateView.as_view(template_name='site_base.html')),
(r'^page_1/$', TemplateView.as_view(template_name='page_1.html')),
)
在你的page_1.html:
{% extends 'site_base.html' %}
{% block content %}
<div class='container' id="page_1">
Your Page 1 content that will overwrite `block content` tag from site_base.html
</div>
{% endblock content %}
你可以放置任何你想要的{% block }%标签。
我有时会使用我的Flat 应用程序。它从 url 中搜索具有名称的模板或返回 404。
# urls.py
from views import flat_render_view
urlpatterns = patterns('',
url(r'^(?P<template_name>\w+)/$', flat_render_view, name='flat_view'),
)
# views.py
from django.http.response import Http404
from django.template.base import TemplateDoesNotExist
from django.shortcuts import render
def flat_render_view(request, **kwargs):
try:
return render(request, "flat_pages/%s.html" % kwargs['template_name'])
except TemplateDoesNotExist:
raise Http404