python-11 Web服务框架

python-11 Web服务框架

一、框架的基本概念

框架可能具备以下这些特性中的一种或多种:

1)路由:解析URL并找到对应的服务端文件或者Python服务器代码;

2)模板:把服务端数据合并成HTML页面;

3)认证和授权:处理用户名、密码和权限

4)Session:处理用户在多次请求之间需要存储的数据

二、Flask框架

  Flask是一种非常容易上手的Python web 开发框架,功能强大,支持很多专业Web 开发需要的扩展功能。只需要具备基本的Python开发技能,就可以开发出一个web应用来。

实例

1
2
3
4
5
6
7
8
import flask
app=flask.Flask(__name__)
@app.route("/")
def hello():
return "hello world!"

if __name__=='__main__':
app.run()

1094D1.png

三、表单插件Flask-WTF

Flask-WTF是关于表单的扩展库,使用Flask-WTF时,每个表单都抽象成一个类。

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#test_flask_wtf.py

from flask_wtf import Form
from wtforms import StringField
from wtforms.validators import DataRequired
from flask import Flask,render_template

class MyForm(Form):
user=StringField('Username',validators=[DataRequired()])


app=Flask(__name__)
app.secret_key="1234567"
@app.route('/login',methods=('GET','POST'))
def login():
form=MyForm()
if form.validate_on_submit():
if form.data['user']=='admin':
return "Admin login successfully"
else:
return 'Wrong user!'
return render_template('login.html',form=form)

if __name__ == '__main__':
app.run()



#login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>登录表单</title>
</head>
<body>
<form method="POST" action="{{ url_for('login') }}">
{{ form.hidden_tag() }}
{{ form.user.label }}: {{ form.user(size=20) }}
<input type="submit" name="Submit">
</form>
</body>
</html>

  注意:如下图,login.html需要放在templates目录下,自己新建这个目录也可以。test_flask_wtf.py则与templates目录同级。另外运行后访问的是127.0.0.1:5000/login,跟了个login目录。

100aR0.png

欢迎打赏,谢谢
------ 本文结束------
0%