DTL 使用
render() 函數中支持一個 dict 類型參數,該字典是後臺傳遞到模板的參數,鍵爲參數名。在模板中使用 {{參數名}} 來直接使用。
編寫 Template
1. 在應用的根目錄下創建名叫 Templates 的目錄
2. 在該目錄下創建 index.html 文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!-- 這裏的 violet 對應的就是 views.py 裏 render() 方法第三個參數的鍵-->
<h6>{{ violet }}</h6>
</body>
</html>
3. 在應用的 views.py 中返回 render()
from django.shortcuts import render #通過 render 把頁面渲染到瀏覽器
def index(request):
return render(request, 'index.html', {'violet': 'Hello, Violet!'}) #一共有三個參數,第三個傳遞的數據
Django 查找 Template
按照 INSTALLED_APPS 中的添加順序查找 Templates ,不同應用下 Templates 目錄中的同名 .html 文件會造成衝突。
解決:
1. 在應用的 Templates 目錄下創建以應用名爲名稱的目錄,將 html 文件放入新創建的目錄下。
2. 然後再改一下 views.py 中 render() 方法裏頁面的引用路徑
from django.shortcuts import render
def index(request):
return render(request, 'violet/index.html', {'violet': 'Hello, Violet!'})
網頁的訪問路徑不變,上面只是讓程序自己確定一下是要渲染哪個頁面。