后端代碼
def GetMain(request): return render( request, "main.html", { "user1":"張三", "user2":"李四", "namelist":[ "tom","tony","jerry" ], "citydict":{"city":"北京","area":"20萬平方公里"}, "person":[ {"name":"老王","age":33,"sex":"男"}, {"name":"老李","age":44,"sex":"女"} ] } )
代碼中user1,user2代表單個數據
namelist代表列表
citydict代表字典
person代表列表中的字典
將后端數據傳遞到前端顯示出來,在后端應使用render這個函數,其中第一個參數是請求對象,第二個參數是渲染模板,將數據顯示到這個模板中,第三個參數是以字典的形式進行傳遞。
特殊標記
(1){{變量名稱}} :變量名稱作為替換符,替換后端傳遞過來的值,如:例子中后端的字典里user1作為key值,"張三"作為value值,而key值是不可變量,value值是動態數據,在前端中的{{}}中寫上user1變量,當模板通過jinja2模板渲染的時候,就將user1替換成value值顯示到前端,也就是顯示了"張三"的數據
(2){% 代碼塊%} :通過這個標識符顯示代碼塊。如:for語句循環,if語句等使用
前端代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> 1.顯示單個數據:==========<br/> {{ user1 }},{{ user2 }}<br/> 2.顯示列表中單個數據:===========<br/> {{ namelist.0 }}---{{ namelist.1 }}<br/> 3.顯示字典中的單個數據:===========<br/> {{ citydict.city }}---{{ citydict.area }}<br/> 4.顯示列表中所有的數據:============<br/> {% for name in namelist %} {{ name }} {% endfor %}<br/> 4.顯示列表中的字典數據:===========<br/> <table border="1"> <tr> <td>姓名</td> <td>名字</td> <td>性別</td> </tr> {% for row in person %} <tr> <td>{{ row.name }}</td> <td>{{ row.age }}</td> <td>{{ row.sex }}</td> </tr> {% endfor %} </table> </body> </html>
可以通過上面的例子,可以了解單個數據,列表,字典的顯示數據的實現
結果:
=====================================================
for循環:
后端代碼:
def if_test(request): subject_list=["python","java","c#","php","c++"] return render(request,"test.html",{"subject_list":subject_list})
前端代碼:
{% for subject in subject_list %}
{{ subject }}
{% endfor %}
通過將后端傳遞到前端的數據,通過遍歷循環顯示出可迭代對象的所有元素
======================================================
if語句
后端代碼:
def if_test(request): scroe_list=[22,34,1,55,78,99] return render(request,"test.html",{"scroe_list":scroe_list})
前端代碼:
{% for score in scroe_list %}
{% if score >= 60 %}
{{ score }}
{% endif %}
{% endfor %}
如果score>=60就顯示出來,否則不顯示
=====================================================
{{ forloop.last }}表示最后一個數據,常用於if語句或for語句中
{% for score in scroe_list %}
{% if forloop.last %}
{{ score }}
{% else %}
{{ score }},
{% endif %}
{% endfor %}
{{ forloop.first }}表示第一個數據