python web开发-flask访问请求数据request
Request對象在web應(yīng)用的開發(fā)中是一個非常重要的對象,主要用來獲取用戶發(fā)來的請求數(shù)據(jù)。
常用屬性參考:http://docs.jinkan.org/docs/flask/api.html#flask.request
下面我們以一個表單提交的例子來說明一些常用request屬性的使用。
在templates文件夾下面創(chuàng)建form.html模板文件,輸入下面的代碼
{% extends "base.html" %}{% import "forms.html" as forms %}
{% block content %}
<form action="/doPost" method="post">
<dl>
<dt>UserName</dt>
<dd>{{ forms.input("username") }}</dd>
<dt>Password</dt>
<dd>{{ forms.input("password",type="password") }}</dd>
<dd><input type="submit" value="提交"/></dd>
</dl>
</form>
{% endblock %}
其中用到了forms.html中的宏,關(guān)于宏的應(yīng)用請參考本系列文章的其它內(nèi)容。通過調(diào)用宏創(chuàng)建了一個username和password的文本框,同時定義action是/doPost即把數(shù)據(jù)提交到/doPost這個url上,method用Post.
?
在code.py中定義一個返回表單的方法:
@app.route("/form")def renderForm():
return render_template("form.html")
?
在code.py中定義表單處理的函數(shù),url要定義為form.html中action所指向的url,即”/doPost”,
@app.route("/doPost",methods=["post"])def handPost():
username = request.form["username"]
password = request.form["password"]
return "username:"+username+",password:"+password
這個方法會返回用戶提交的username和password的數(shù)據(jù)
啟動應(yīng)用訪問/form這個url,效果如圖:
?
?
在文本框中輸入username和password,這里我們用zhang san和password作為這兩個框的值:
?
?
點(diǎn)擊提交,會轉(zhuǎn)到doPost路徑,效果如圖:
?
?
這樣一個簡單的表單提交就完成了
?
如果我們在提交數(shù)據(jù)給doPost這個方法的時候,在url上加了參數(shù),可以通過arg來獲取,
比如我們在form.html上給action加上一個參數(shù)?q=postString,如圖:
<form action="/doPost?q=postString" method="post">同時,在處理post請求的方法中添加q參數(shù)的處理代碼
arges = request.args["q"]?? 整體代碼如下:
?
?
再次提交后效果:
?
?
通過request.values可以獲取forms和url上的所有參數(shù)的值,比如,我們在doPost方法里添加一個處理values的代碼
requestValues = request.values.get("username")requestValues2 = request.values.get("q") ? 再次提交后,效果如圖:
?
轉(zhuǎn)載于:https://www.cnblogs.com/itxb/p/8608913.html
總結(jié)
以上是生活随笔為你收集整理的python web开发-flask访问请求数据request的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python!!!!惊了,这世上居然还有
- 下一篇: 在win10中通过Anaconda3安装