做妇产科网站,网站优化 北京,做网站和做新媒体运营,合肥网络seo推广服务1. 前言
Flask 在处理请求与响应的过程#xff1a;
首先我们从浏览器发送一个请求到服务端#xff0c;由 Flask 接收了这个请求以后#xff0c;这个请求将会由路由系统接收。然后在路由系统中#xff0c;还可以挂入一些 “勾子”#xff0c;在进入我们的 viewFunction …1. 前言
Flask 在处理请求与响应的过程
首先我们从浏览器发送一个请求到服务端由 Flask 接收了这个请求以后这个请求将会由路由系统接收。然后在路由系统中还可以挂入一些 “勾子”在进入我们的 viewFunction 以前做一些预处理。即产生一个 request 对象可以获取一些变量、cookie等参数再传入 viewFunction 里面做一个进一步的处理。处理完了以后一般上不需要直接去产生一个 response而是通过 render_template 传给 Flask。
2. login
login.html:
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
body
h1方法{{ method }}/h1
form methodpostdivinput typetextnameusernameplaceholderUser name //divdivinput typetextnamepasswordplaceholderPassword //divinput typesubmit
/form
/body
/htmlapp.route(/login, methods[GET, POST])
def login():if request.method POST:username request.form[username]password request.form[password]else:username request.args[username]return render_template(login.html,methodrequest.method)可直接使用浏览器传值
3. 上传文件
app.route(/upload, methods[GET, POST])
def uploads():if request.method POST:f request.files[file]basepath path.abspath(path.dirname(__file__)) # 获取当前绝对路径upload_path path.join(basepath, static/uploads)f.save(upload_path, secure_filename(f.filename))return redirect(url_for(uploads))return render_template(upload.html)upload.html:
!DOCTYPE html
html langen
headmeta charsetUTF-8titleUpload new File/title
/head
body
h1文件上传示例/h1
form actionmethodpostenctypemultipart/form-datapinput typefilenamefileinput typesubmitvalueUpload/p
/form
/body
/html4. errorhandler
对错误进行监控
app.errorhandler(404)
def page_not_found(error):return render_template(404.html), 404app.errorhandler(400)
def bad_request(error):return render_template(400.html), 400404.html:
!DOCTYPE html
html langen
headmeta charsetUTF-8title/title
/head
body
h1404/h1
h2很抱歉/h2
p您访问的页面并不存在/p
/body
/html400.html:
!DOCTYPE html
html langen
headmeta charsetUTF-8title/title
/head
body
h1400/h1
h2很抱歉/h2
p您发送了一个错误的请求/p
/body
/html