python測試開發django(6)--模板中include使用
阿新 • • 發佈:2020-12-06
前言
當我們開啟一個網站的時候,在開啟不同的頁面時候,會發現每個頁面的頂部、底部內容都差不多,這樣就可以把這些公共的部分,單獨抽出來。
類似於python裡面的函式,把公共部分寫成函式,然後呼叫就行了,這樣就能實現程式碼的複用。django裡面也有類似的功能,用include可以實現。
公共內容
如下圖所示,網站的每個頁面都有頂部導航,body正文,底部導航這三塊內容
一般頭部和底部是不變的,變的只是body裡面內容,這樣把頭部和底部單獨抽出來
xjyn/templates/top1.html單獨拿出來
<section> <h1>頂部導航</h1> <p>python自動化-武漢-會</p> <hr> </section>
xjyn/templates/end1.html單獨拿出來
<section> <br><br><br><br><hr> <h1>底部導航</h1> <p>底部一些友情連結啊,網站導航,版權啊</p> </section>
include語法
xjyn/templates/page1.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {% include 'top1.html' %} <section> <h1>body正文</h1> <p>正文內容</p> </section> {% include 'end1.html' %} </body> </html>
xjyn/views.py檢視函式
from django.shortcuts import render from django.http import HttpResponse,Http404 # Create your views here. def he(request): return render(request,"page1.html")
urls.py新增訪問路徑
#helloworld/helloworld/urls.py from django.conf.urls import url from django.urls import re_path,path from xjyn import views urlpatterns=[ url('^home$',views.he), ]
瀏覽器訪問地址http://127.0.0.1:8000/home就能看到效果了
帶引數
公共部分top1.html和end1.html裡面也可以傳變數,如
<section> <h1>頂部導航</h1> <p>python自動化-{{name}}</p> <hr> </section>
對應檢視函式
def he(request): p={"name":"小白"} return render(request,"page1.html",p)