前言
当我们打开一个网站的时候,在打开不同的页面时候,会发现每个页面的顶部、底部内容都差不多,这样就可以把这些公共的部分,单独抽出来。
类似于python里面的函数,把公共部分写成函数,然后调用就行了,这样就能实现代码的复用。django里面也有类似的功能,用include可以实现。公共内容
如下图所示,网站的每个页面都有顶部导航,body正文,底部导航这三块内容
hello/templates/base.html内容
Title 顶部导航
python自动化-上海-悠悠
body正文
正文内容
底部导航
底部一些友情链接啊,网站导航,版权啊
一般头部和底部是不变的,变的只是body里面内容,这样把头部和底部单独抽出来
hello/templates/top.html单独拿出来
顶部导航
python自动化-上海-悠悠
hello/templates/end.html单独拿出来
底部导航
底部一些友情链接啊,网站导航,版权啊
include语法
hello/templates/page1.html
Title {% include 'top.html' %}{% include 'end.html' %} body正文
正文内容
hello/views.py视图函数
from django.shortcuts import render# Create your views here.def page1(request): return render(request, 'page1.html')
urls.py添加访问路径
from django.conf.urls import urlfrom django.urls import re_path, pathfrom hello import viewsurlpatterns = [ path("page1/", views.page1),]
浏览器访问地址http://127.0.0.1:8000/page1/
就能看的效果了
带参数
公共部分top.html和end.html里面也可以传变量,如
顶部导航
python自动化-{
{name}}
对应视图函数
def page1(request): context = {"name": "yoyo"} return render(request, 'page1.html', context)