模板語法及靜態文件
1 多app創建
-
在主路由當中引入 include
include()函數是Django.urls模塊中的一個函數,它的作用是在urls.py文件中引入其他應用的URL模式。
from django.urls import path, include
-
創建多個app
python manage.py startapp project_one python manage.py startapp project_two
-
主路由添加兩個app的路由
path('one/', include("project_one.urls")) path('two/', include("project_two.urls"))
2 模板語法
2.1 變量
-
變量的寫法使用一個嵌套大括號{{ name }}
def index_one(request):dict_data = {}dict_data["name"] = "張三"dict_data["love"] = ["籃球", "羽毛球", "足球"]return render(request, "two/index_one.html", dict_data)
</--index_one.html--?> <h1>大家好,我是{{ name }}我喜歡{{ love.0 }}</h1> <h1>大家好,我是{{ name }}我喜歡{{ love.1 }}</h1>
2.2 標簽
-
標簽允許您執行以下操作:如果條件,for循環,模板繼承等。
-
for循環
def index_one(request):dict_data = {}dict_data["love"] = ["籃球", "羽毛球", "足球"]return render(request, "two/index_one.html", dict_data)
</--index_one.html--?> {% for data in love %}<h1>{{ data }}</h1> {% endfor %}
-
條件判斷
def index_one(request):dict_data = {}dict_data["age"] = 18return render(request, "two/index_one.html", dict_data)
</--index_one.html--?> {% if age >= 18 %}<h1>成年了</h1> {% else %}<h1>未成年</h1> {% endif %}
3 表單提交
<form method="post">{% csrf_token %}<input type="text" name="user" placeholder="用戶名"><input type="password" name="pwd" placeholder="密碼"><input type="submit" value="提交">
</form>
{% csrf_token %}是 Django 提供的防止偽裝提交請求的功能。POST 方法提交的表格,必須有此標簽。
def login(request):if request.method == "GET":return render(request, "two/login.html")else:username = request.POST.get("user")password = request.POST.get("pwd")print(username, password)if username == "admin" and password == "123456":# return HttpResponse("登錄成功")# 重定向return redirect("/")else:return HttpResponse("登錄失敗")