python的flask框架
Flask URL構建
@app.route(/)
路由
Flask中的**route()**裝飾器用於將URL繫結到函式
methods
指定請求方法,有GET、POST 、DELETE、PUT
url構造
通過路由構造URL
@app.route("/login", methods = ['GET','POST']) def login(): pass
127.0.0.1:5000/login
app.run()
host
要監聽的主機名。 預設為127.0.0.1(localhost)。設定為“0.0.0.0”以使伺服器在外部可用
prot
預設埠,預設值為5000
debug
預設為false。 如果設定為true,則提供除錯資訊
資料互動
request
在Flask的官方文件中是這樣介紹request的:對於 Web 應用,與客戶端傳送給伺服器的資料互動至關重要。在 Flask 中由全域性的 request 物件來提供這些資訊。
從Flask模組匯入request:from flask import request
request的屬性:下面是request可使用的屬性,其中黑體是比較常用的。
屬性名 | 解釋 |
---|---|
form | 一個從POST和PUT請求解析的 MultiDict(一鍵多值字典)。 |
args | MultiDict,要操作 URL (如 ?key=value )中提交的引數可以使用 args 屬性:searchword = request.args.get(‘key’, ‘’) |
values | CombinedMultiDict,內容是form 和args 。 可以使用values替代form和args。 |
cookies | 請求的cookies,型別是dict。 |
stream | 在可知的mimetype下,如果進來的表單資料無法解碼,會沒有任何改動的儲存到這個 stream 以供使用。很多時候,當請求的資料轉換為string時,使用data 是最好的方式。這個stream只返回資料一次。 |
headers | 請求頭,字典型別。 |
data | 包含了請求的資料,並轉換為字串,除非是一個Flask無法處理的mimetype。 |
files | MultiDict,帶有通過POST或PUT請求上傳的檔案。 |
environ | WSGI隱含的環境配置。 |
method | 請求方法,比如POST、GET。 |
path | 獲取請求檔案路徑:/myapplication/page.html |
script_root | |
base_url | 獲取域名與請求檔案路徑:http://www.baidu.com/myapplication/page.html |
url | 獲取全部url:http://www.baidu.com/myapplication/page.html?id=1&edit=edit |
url_root | 獲取域名:http://www.baidu.com/ |
is_xhr | 如果請求是一個來自JavaScript XMLHttpRequest 的觸發,則返回True ,這個只工作在支援X-Requested-With 頭的庫並且設定了XMLHttpRequest 。 |
blueprint | 藍圖名字。 |
endpoint | endpoint匹配請求,這個與view_args 相結合,可是用於重構相同或修改URL。當匹配的時候發生異常,會返回None。 |
json | 如果mimetype 是application/json ,這個引數將會解析JSON資料,如果不是則返回None。 可以使用這個替代get_json()方法。 |
max_content_length | 只讀,返回MAX_CONTENT_LENGTH 的配置鍵。 |
module | 如果請求是傳送到一個實際的模組,則該引數返回當前模組的名稱。這是棄用的功能,使用blueprints 替代。 |
routing_exception = None | 如果匹配URL失敗,這個異常將會/已經丟擲作為請求處理的一部分。這通常用於NotFound 異常或類似的情況。 |
url_rule = None | 內部規則匹配請求的URL。這可用於在URL之前/之後檢查方法是否允許(request.url_rule.methods) 等等。 預設情況下,在處理請求函式中寫下 print(‘request.url_rule.methods’, request.url_rule.methods) 會列印: request.url_rule.methods {‘GET’, ‘OPTIONS’, ‘HEAD’} |
view_args = None | 一個匹配請求的view引數的字典,當匹配的時候發生異常,會返回None。 |
其他方法 | get_json(force=False, silent=False, cache=True)on_json_loading_failed(e) |
模板
Flask中預設的模板語言是Jinja2
模板的位置放在templates資料夾下面,一般是html檔案,我們把index.html改動成如下樣式
<html>
<head>
<title>{{title}} - microblog</title>
</head>
<body>
<h1>Hello, {{user.nickname}}!</h1>
</body>
</html>
**{{}}**表示這是一個變數
在jinja2中,存在三種語法:
- 控制結構 {% %}
- 變數取值 {{ }}
jinja2模板中使用 {{ }} 語法表示一個變數,它是一種特殊的佔位符。當利用jinja2進行渲染的時候,它會把這些特殊的佔位符進行填充/替換,jinja2支援python中所有的Python資料型別比如列表、欄位、物件等。
- 註釋 {# #}
I. Jinja2模板語言中的 for
{% for foo in g %}
{% endfor %}
II. Jinja2模板語言中的 if
{% if g %}
{% elif g %}
{% else %}
{% endif %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>for</title>
</head>
<body>
for
<table>
{% for foo in student %}
<tr>
<td>{{ foo }}</td>
<td>{{ student.get(foo).name }}</td>
<td>{{ student[foo].get("age") }}</td>
<td>{{ student[foo]["gender"] }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
迭代字典
{% for key, value in name.items() %}
<h1>Key: {{key}}</h1>
<h2>Value: {{value}}</h2>
{% endfor %}
迭代列表
{% for row in rows %}
{{ row }}
{% endfor %}
相關文章
- Python之Flask框架一PythonFlask框架
- 快速上手python的簡單web框架flaskPythonWeb框架Flask
- Python教程系列之Flask框架的學習PythonFlask框架
- Python flask-restful框架講解PythonFlaskREST框架
- python Flask框架學習——Response響應PythonFlask框架
- Django、Flask、Tornado的對比?Python三大主流框架!DjangoFlaskPython框架
- Flask之旅: 寫一個簡單的Python Web框架FlaskPythonWeb框架
- python的flask框架實現的小型二手商城PythonFlask框架
- Python基礎知識之常用框架Flask!Python框架Flask
- Python全棧Web(Flask框架、多表關聯)Python全棧WebFlask框架
- Flask基本框架Flask框架
- 【flask框架】——flask-restful風格Flask框架REST
- python 中的 flaskPythonFlask
- 2 個案例帶你迅速入門 Python Flask 框架PythonFlask框架
- Python基礎知識之常用框架Flask介紹!Python框架Flask
- flask 框架日誌Flask框架
- Flask框架入門Flask框架
- Github上最受歡迎的Python輕量級框架Flask入門GithubPython框架Flask
- flask框架中的cookie和sessionFlask框架CookieSession
- [譯] 使用 Python Flask 框架釋出機器學習 APIPythonFlask框架機器學習API
- flask框架安裝使用Flask框架
- python flask配置PythonFlask
- Python學習之Django和Flask框架有什麼區別?PythonDjangoFlask框架
- Django和Flask框架有什麼區別?Python學習分享DjangoFlask框架Python
- Python Flask Web教程001:Flask簡介PythonFlaskWeb
- flask框架可以做什麼Flask框架
- Flask框架之八SQLAlchemy -ormFlask框架SQLORM
- springboot java呼叫flask python寫的Spring BootJavaFlaskPython
- Flask框架和Django框架有什麼區別?Flask框架Django
- 寶塔皮膚建立Python專案並使用Flask框架搭建api介面PythonFlask框架API
- 輕量級Web框架Flask(二)Web框架Flask
- Flask框架(二):路由與藍圖Flask框架路由
- flask框架資料庫部分(四)Flask框架資料庫
- 深入理解flask框架(4):sessionFlask框架Session
- Flask框架:藍圖(Blueprint)測試Flask框架
- 學Flask框架有什麼用?為什麼學習Flask?Flask框架
- Django框架,Flask框架和Tornado框架各有什麼優缺點Django框架Flask
- 【python Flask】用uwsgi 啟動flask 服務方式PythonFlask