Flask模拟登录
URL:Uniform Resource Locator 统一资源定位符(网址、域名)
一个完整的URL:协议、网址、文件地址
Flask
Flask有三个主要依赖:路由、调试和Web服务器网关接口(WSGI, Web server gateway interface)子系统由Werkzeug提供;模板系统由Jinja2提供;命令行系统又Click提供。
应用的基本结构
所有Flask应用都必须创建一个应用实例。
路由和视图函数
处理URL和函数之间关系的程序称为路由
处理入站请求的函数称为视图函数
表单
使用HTML可以创建Web表单,供用户填写信息。表单数据由Web浏览器提交给服务器,这一过程通常使用POST请求。
传递HTTP请求
get:使用未加密的形式向服务器发送数据
post:向服务器发送HTML表单中的数据,服务器不会缓存POST接受的数据
put:使用上传的内容替换指定的目标资源
head:和get方法相同,但是没有响应体
delete:删除由URL指定的目标资源
常用的两种传递HTTP请求的方法是get和post
import flask
html_txt = """ #变量html_txt初始化,作为GET请求的页面
<!DOCTYPE html>
<html>
<body>
<h2>如果收到了GET请求</h2>
<form method='post'> #设置请求方法是“post”
<input type='submit' value='按下我发送POST请求' />
</form>
</body>
</html>
"""
app = flask.Flask(__name__)
@app.route('/aaa',methods=['GET','POST'])
def helo():
if flask.request.method == 'GET':
return html_txt
else:
return '我司已经收到POST请求!'
if __name__ == '__main__':
app.run()
Flask+html实现模拟登陆
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action = "http://localhost:5000/login" method = "post">
<p>请输入名字:</p>
<p><input type = "text" name = "biaodan" /></p>
<p><input type = "submit" value = "登录" /></p>
</form>
</body>
</html>
</html>
from flask import Flask, redirect, url_for, request
app = Flask(__name__)
@app.route('/success/<name>')
def success(name):
return '欢迎%s' % name +'登录本系统'
@app.route('/login',methods = ['POST', 'GET'])
def login():
if request.method == 'POST':
user = request.form['biaodan']
return redirect(url_for('success',name = user))
else:
user = request.args.get('biaodan')
return redirect(url_for('success',name = user))
if __name__ == '__main__':
app.run(debug = True)
|