今天來聊聊 Templates(範本)
templates 是在 MVC 中的 View
是處理前端,顯示頁面
前端 常用的是語言 HTML 5, CSS 3, JavaScript
之前在 views.py return 的是 HttpResponse('')
改成 return 一個頁面
在app 目錄下新建一個 templates 資料夾
再一個 app_name 資料夾 ,就可以新增 xx.html 了
專案目錄
shop/
----venv/
----shop/
-------manage.py
-------shop/
-----------__init__.py
-----------settings.py
-----------wsgi.py
-----------urls.py
-------main/
-----------__init__.py
-----------views.py
-----------...
-----------templates/
---------------main/
-------------------main.html
views.py
def main(request):
return render(request, 'main/main.html')
main.html 基本html格式
<!doctype html>
<html>
<head></head>
<body>
Hello world
</body>
</html>
templates 其他常用功能
傳遞範本變數
可以從views.py 傳變數到前端顯示
放第三個參數,是使用 dict{} 型態
key: 是變數
value: 值
views.py
def main(request):
return render(request, 'main/main.html', {'message':'hello'})
main.html
…
<body>
Hello wrold
{{ message }}
</body>
...
templates 也可以寫 邏輯判斷,for loop
使用到{% %} 這行裡面的變數就不需 {{ }},如果是字串就需要加 ''
if
{% if variable == 'in' %}
someting...
{% else %}
someting...
{% end if %}
forloop
{% for item in items %}
{{ item }}
{% endfor %}
官網 template tag 介紹
https://docs.djangoproject.com/en/2.0/ref/templates/builtins/
今天就先寫到這裡 之後會用到 extends include 等等