flask入門

web框架的做用html

flsk做爲web框架,它的優勢是不用去理解怎麼和服務器交互,它會幫你實現。下降開發難度web

其次它能調用第三飯庫(避免重複的造輪子)flask

flask簡單介紹服務器

Flask至關因而一個內核,只有兩部份內容,路由模塊(Verkzeug)和模板引擎(jinja2),其餘app

全部的功能都要經過引入第三方擴展來實現(靈活)框架

 

#hello.py
#導入flask類
from flask import Flask,render_template#render_template是html要用的

#flask函數接受一個參數name,它會指向程序所在的模塊
app = Flask(__name__)

#裝飾器的做用是將路由映射到視圖函數index
#使用methods參數指定能夠接受的請求方式,能夠是多種@app.route('/',methods=['GET','POST'])
#路由默認傳遞的參數爲string類型
@app.route('/')
def hello_item():
# print (type(order_id))#查詢類型
url_str='www.itcast.com'
my_list=[1,3,5,7,9]
my_dict={"林峯","www.1234352"}
#一般使用變量名和要傳遞的數據變量名保持一致
return render_template('index.html',url_str=url_str,my_list=my_list,my_dict=my_dict)

#Flask應用程序實例的run方法啓動web服務器
if __name__=='__main__':
app.run()

 

 

 

 

 

Jinja2模板引擎

模板

在前面的示例中,視圖函數的主要做用是生成請求的響應,這是最簡單的請求。實際上,視圖函數有兩個做用:處理業務邏輯和返回響應內容。在大型應用中,把業務邏輯和表現內容放在一塊兒,會增長代碼的複雜度和維護成本。本節學到的模板,它的做用便是承擔視圖函數的另外一個做用,即返回響應內容。函數

  • 模板實際上是一個包含響應文本的文件,其中用佔位符(變量)表示動態部分,告訴模板引擎其具體的值須要從使用的數據中獲取
  • 使用真實值替換變量,再返回最終獲得的字符串,這個過程稱爲「渲染」
  • Flask是使用 Jinja2 這個模板引擎來渲染模板

使用模板的好處:url

  • 視圖函數只負責業務邏輯和數據處理(業務邏輯方面)
  • 而模板則取到視圖函數的數據結果進行展現(視圖展現方面)
  • 代碼結構清晰,耦合度低

Jinja2

兩個概念:

  • Jinja2:是 Python 下一個被普遍應用的模板引擎,是由Python實現的模板語言,他的設計思想來源於 Django 的模板引擎,並擴展了其語法和一系列強大的功能,其是Flask內置的模板語言。
  • 模板語言:是一種被設計來自動生成文檔的簡單文本格式,在模板語言中,通常都會把一些變量傳給模板,替換模板的特定位置上預先定義好的佔位變量名。

渲染模版函數

  • Flask提供的 render_template 函數封裝了該模板引擎
  • render_template 函數的第一個參數是模板的文件名,後面的參數都是鍵值對,表示模板中變量對應的真實值。

 

{#index.html#}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello word</title>
</head>
<body>
afdasdfa<br>
{#註釋:ctrl+/#}
{#列表的使用#}
{#字典的使用#}
{{ url_str }}<br>
{{ my_list[3] }}<br>
{{ my_dict }}<br>

<hr>
{#for循環的使用,建議先寫 for在按tab按鈕自動補全#}
{% for my in my_list %}
{% if my>3 %}
{{ my }}<br>
{% endif %}
{% endfor %}
<hr>
{#過濾器的使用#}
{{ url_str|upper }}<br>
{#字符串的反轉#}
{{ url_str|reverse }}

</body>
</html>



tips:一、static是存放圖片之類的地方二、templates用來存放.html文件三、在html中用ctrl+/來進行註釋;用關鍵字加tab按鍵來補全代碼四、鏈式調用就是過濾器能不斷的疊加
相關文章
相關標籤/搜索