1、在flask服務端中創建一個服務器並運行,render_template 是前端模板渲染
2、前端的html 接收后端的數據需要進行解析,如:可使用 {{ p }} 接收后端的數據,其中 p 是后端中已定義的參數,后端定義的“title”,前端使用 {{ title }} 接收
獲取變量屬性
{{ foo.bar }} 或者 {{ foo[ 'bar' ] }}
設置變量
{{ set a = 'name' }}
for循環,語法:
{% for project in p %}
{{ project.name }}
{% endfor %}
獲取循環當中的index:{{ loop.index }}
loop.index : 當前循環迭代的次數(從1開始)
loop.index0 : 當前循環迭代的次數(從0開始)
loop.revindex : 到循環結束需要迭代的次數(倒序,從1開始)
loop.irevindex 0 : 到循環結束需要迭代的次數(從0開始)
loop.first : 如果是第一次迭代,為True
loop.last : 如果是最后一次迭代,為False
loop.length : 序列中的項目數
loop.nextitem: 顯示下一個迭代的數據
if 條件,語法:
{% if p.name == 'lili' %}
{{p.name}}
{% elif p.name == 'lili' %}
{% endif %}
消息閃現
flask端(后端),需要在 app.config [ ‘ SECRETE_KEY ' ] = 任意值;
flash()源碼:實際就是把 flash 數據添加到session里面,再定義個全局函數去獲取
jinja(前端):
環境處理器 context_processor
函數用“ @app.context_processor ” 裝飾器修飾,是一個上下文處理器,作用是在模板被渲染前運行其所修飾的函數,並將函數返回的字典導入到模板上下文環境中,與模板上下文合並
環境處理器不僅可以傳遞變量,還可以傳遞函數,在前端調用時是環境處理器中返回的字典的key
注意:返回的需要是一個字典形式供模板去獲取。傳遞函數會發現和過濾器的作用有所重復,但當要操作多個變量的時候這個函數會更有優勢。