Flask简单使用(flask)
from flask import Flask #先将flask包导入
app = Flask(__name__)
@app.route('/') #路由
def index(): #定义index函数
return '首页' #返回字首页
if __name__ == '__main__':
app.run() #运行一下
启动python的flask框架:python xxxx.py
运行结果
Flask路由(route)
app路由.py
from flask import Flask
app = Flask(__name__)
@app.route('/hello')
def hello():
return 'hello word!'
@app.route('/hi')
def hi():
return 'hi!!!'
# @app.route('h1',methods=['GET','POST'],endpoint='h1')
# methods是传参方式,endpoint是指定传参
#string 接受任何不包含斜杠的文本
#int 接受正整数
#float 接受正浮点数
# path 接受包含斜杠的文本
# @app.route('/user/<float:id>')
@app.route('/user/<id>')
def index(id):
if id=='1':
return 'python'
if id==str(2):
return 'djanggo'
if int(id)==3:
return 'flask'
return 'hello word'
if __name__ == '__main__':
app.run()
自定义转换器(from werkzeug.routing import BaseConverter)
引入from werkzeug.routing import BaseConverter
from werkzeug.routing import BaseConverter
from flask import Flask
app = Flask(__name__)
class RegexConverter(BaseConverter):
def __init__(self,url_map,regex):
#调用父类的方法
super(RegexConverter,self).__init__(url_map)
self.regex = regex
def to_python(self, value):
#父类的方法 功能已经实现好了
print('to_python方法被调用')
return value
#将自定义的转换器类添加到flask应用中
app.url_map.converters['re'] = RegexConverter
@app.route('/index/<re("1\d{10}"):value>')
def index(value):
print(value)
return 'hello'
if __name__ == '__main__':
app.run()
渲染from表单(render_template)
from表单.py
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/index',methods=['GET','POST'])
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run()
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="" method="post">
账号:
<input type="text" name="name">
<br>
密码:
<input type="text" name="password">
<br>
<input type="submit" name="submit">
</form>
</body>
</html>
request对象
request对象.py
# ruquest包含前端发送过来的所有请求数据
from flask import Flask,render_template,request
app = Flask(__name__)
@app.route('/index',methods=['GET','POST'])
def index():
if request.method == 'GET':
return render_template('index.html')
if request.method == 'POST':
name= request.form.get('name')
password = request.form.get('password')
print(name,password)
return 'this is post'
if __name__ == '__main__':
app.run()
index和上面渲染from一样
重定向(redirect)
from flask import Flask,redirect,url_for
app = Flask(__name__)
@app.route('/index')
def index():
# return redirect('https://baidu.com') #这种重定向到域名
return redirect(url_for('hello')) #这种重定向到自己的函数
@app.route('/')
def hello():
return 'this is hello'
if __name__ == '__main__':
app.run()
返回json数据给前端
from flask import Flask,make_response,json,jsonify
app = Flask(__name__)
#添加属性
app.config['JSON_AS_ASCII']=False
@app.route('/index')
def index():
data={
'name':'张三'
}
#第一种方式:
# response = make_response(json.dumps(data,ensure_ascii=False))
# response.mimetype = 'application/json'
# return response
#第二种方式:
return jsonify(data)
# return make_response(json.dumps(data,ensure_ascii=False))
#将ascii关闭
if __name__ == '__main__':
app.run()
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容