文章目录
软件简介
Flask 是一个微型的 Python 开发的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎。 Flask使用BSD授权。 Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。
示例代码
from flask import Flask, render_template, request, redirect, session
app = Flask(__name__, template_folder='templates') # template_folder模板的文件夹
app.secret_key = '1250126579' # session加密
app.debug = True # 保存时运行
USER_DICT = {
'1': {'name': 'dwd', 'age': 18},
'2': {'name': 'dwd', 'age': 18},
'3': {'name': 'dwd', 'age': 18},
}
@app.route('/', methods=['GET', 'POST']) # 装饰器 接受get,post请求
def name():
if request.method == 'GET': # request对象是来获取请求消息的,response对象是来设置响应消息的
return render_template('login.html') # render_template的功能是对先引入index.html,同时根据后面传入的参数,对html进行修改渲染。
user = request.form.get('user') # 获取post传过来的值
pwd = request.form.get('pwd') # 获取post传过来的值
if user == 'alex' and pwd == '123':
session['user_info'] = user # 当访问服务器否个网页的时候,会在服务器端的内存里开辟一块内存,这块内存就叫做session
return redirect('/index') # 重定向
else:
return render_template('login.html', msg='用户名或密码错误')
# return render_template('login.html', **{'msg', '用户名或密码错误'})
@app.route('/index')
def index():
user_info = session.get('user_info')
if not user_info:
return redirect('/login')
return render_template('index.html', user_dict=USER_DICT)
return '欢迎登录'
@app.route('/detail')
def detail():
user_info = session.get('user_info')
if not user_info:
return redirect('login')
uid = request.args.get('uid') # 获取get传过来的值
info = USER_DICT.get(uid)
return render_template('detail.html', info=info)
@app.route('/logout')
def logout():
del session['user_info']
return redirect('/login')
if __name__ == '__main__':
app.run()