Flask介绍,新手四件套,session使用
作者:互联网
web框架介绍, Flask介绍和安装
介绍:
Flask是一个基于Python开发并且依赖jinja2模板(DTL)和Werkzeug WSGI(符合wsgi协议的web服务器,wsgiref)服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。
安装Flask
pip install flask
'''
基本样式
from flask import Flask
# app=Flask(__name__)
app = Flask('lqz')
@app.route('/')
def index():
return 'hello world'
if __name__ == '__main__':
app.run()
'''
jsonify, render_template, redirect,session
return 字符串
@app.route('/index',methods=['GET'])
def index():
return 'aaa'
'''
相当于django中的HttpResponse('字符串')
直接在浏览器中显示字符串
'''
jsonify
@app.route('/index',methods=['GET'])
def index():
return jsonify({key:value})
'''
返回json格式的字符串
'''
render_template
@app.route('/index',methods=['GET'])
def index():
context = {
'username':'张三',
'age':20,
}
return render_template(模板文件名,**context)
# return render_template('index.html',**context)
# return render_template(模板文件名,username='张三',age=20)
'''
返回一个页面
两种传值效果一样
context 向模板传递参数
'''
redirect
@app.route('/index',methods=['GET'])
def index():
return redirect('/home')
'''
重定向
'''
session
1.使用前需要先配置secret_key
from flask import Flask,request
app = Flask(__name__)
app.secret_key = 'adasdasdasdzxocim' # 如果要使用session,必须写秘钥,可以随便写
2.使用session
from flask import session # (1)导入session
'''
POST请求,请求体中的数据都在request.from中
'''
@app.route('/login',methods=['POST'])
def login():
username = request.from.get('username')
password = request.from.get('password')
if username == '春游去动物园' and password == '123456':
session['username'] = username # (2)设置session即可
return redirect('/home')
else:
return render_template('login.html',errors='用户名或密码错误')
3.从session中获取值
from flask import session
@app.route('/home',methods=['GET','POST'])
def home():
if session.get('username') == '春游去动物园': # 从session中取出值
context = {
....
}
return render_template('home.html',**context)
else:
return redirect('/login')
标签:__,四件套,return,index,Flask,app,session 来源: https://www.cnblogs.com/chunyouqudongwuyuan/p/16555002.html