Flask基础-基础实例
1. 10行代码的迷你程序 flask项目
from flask import Flask app = Flask(__name__) @app.route("/index")
def inde():
return "heeello world" if __name__ =="__main__":
app.run()
2.页面登录的小程序+session简单用法.
from flask import Flask,render_template,request,redirect,session app = Flask(__name__)
app.secret_key="dd" @app.route("/login",methods =["GET","POST"])
def login():
if request.method =='GET': return render_template("login.html") #request.form为post请求
user =request.form.get("user")
pwd =request.form.get("pwd")
if user =="hailong" and pwd =="kuang": #设置session , flask的session存放在cookie当中
session["user_infor"]=user
print(22)
return redirect("/index")
print(111)
return render_template("login.htm",msg ="用户密码错误") @app.route("/index")
def index(): #获取cookie 判断是否存在,如果存在并匹配进行跳转到相关页面
user_infor =session.get("user_infor")
print(222,user_infor)
if not user_infor:
return redirect("/login")
return render_template("index.html") if __name__ =="__main__":
app.run()
login页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login</title> </head>
</head>
<body>
<h1> 用户登录</h1>
<form method="post">
<input type="text" name ="user">
<input type="password" name ="pwd">
<input type="submit" value="提交">{{msg}} </form>
</body>
</html>
index界面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>欢迎来到郝龙江家里</h1>
</body>
</html>
3 .auth认证.
from flask import Flask,render_template,request,redirect,session app = Flask(__name__) app.secret_key = '39jrlasdfoajslfu8af' import functools def auth(func):
@functools.wraps(func) # 保留函数的元信息
def inner(*args,**kwargs):
if not session.get('user_info'):
return redirect('/login')
ret = func(*args,**kwargs)
return ret
return inner @app.route('/login',methods=['GET','POST'])
def login():
if request.method == 'GET':
return render_template('login.html') user = request.form.get('user')
pwd = request.form.get('pwd')
if user == 'hailong' and pwd == 'kuang':
session['user_info'] = user
return redirect('/index')
return render_template('login.html',msg="用户名或密码错误") @app.route('/index')
@auth
def index():
kuang_list = [
{'id':1,'name':'一矿','address':'大同'},
{'id':2,'name':'二矿','address':'大同'},
{'id':3,'name':'三矿','address':'大同'},
] return render_template('index.html',klist=kuang_list)
# return render_template('index.html',**{'klist':kuang_list}) @app.route('/detail')
@auth
def detail():
nid = request.args.get('nid')
return render_template('detail.html') @app.route('/logout')
def logout():
del session['user_info'] return redirect('/login') if __name__ == '__main__':
app.run()
4.中间件
from flask import Flask,render_template,request,redirect,session app = Flask(__name__) app.secret_key = '39jrlasdfoajslfu8af' @app.before_request
def xxxxxxxxxxxxxx():
if request.path == '/login':
return None if not session.get('user_info'):
return redirect('/login') @app.route('/login',methods=['GET','POST'])
def login():
print('我是login')
if request.method == 'GET':
return render_template('login.html') user = request.form.get('user')
pwd = request.form.get('pwd')
if user == 'hailong' and pwd == 'kuang':
session['user_info'] = user
return redirect('/index')
return render_template('login.html',msg="用户名或密码错误") @app.route('/index')
def index():
print('我是index')
kuang_list = [
{'id':1,'name':'一矿','address':'大同'},
{'id':2,'name':'二矿','address':'大同'},
{'id':3,'name':'三矿','address':'大同'},
] return render_template('index.html',klist=kuang_list)
# return render_template('index.html',**{'klist':kuang_list}) @app.route('/detail')
def detail():
nid = request.args.get('nid')
return render_template('detail.html') @app.route('/logout')
def logout():
del session['user_info'] return redirect('/login') if __name__ == '__main__':
app.run()
Flask基础-基础实例的更多相关文章
- 超实用的Flask入门基础教程,新手必备!
Flask入门基础教程 Flask简介 Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活.轻便.安全且容易上手.它可以很好地结合MVC模式进行开发,开发人员分工合 ...
- AutoCAD ObjectARX(VC)开发基础与实例教程2014版光盘镜像
AutoCAD ObjectARX(VC)开发基础与实例教程2014,最新版,光盘镜像 作者:张帆 朱文俊 编著 出版社:中国电力出版社 出版时间:2014年6月 点击一下
- 基础 jQuery 实例
基础 jQuery 实例 jQuery 原则: 由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护: 把所有 jQuery 代码置于事件处理函 ...
- 知了课堂 Python Flask零基础 笔记整理
目录 起步 安装Python2.7: Python虚拟环境介绍与安装: pip安装flask: 认识url: URL详解 web服务器和应用服务器以及web应用框架: Flask 第一个flask程序 ...
- expect基础及实例
expect基础及实例 http://blog.csdn.net/zhuying_linux/article/details/6900805
- SVG基础绘图实例
SVG可缩放矢量图(Scalable Vector Graphics),是使用 XML 来描述二维图形和绘图程序的语言,图像在放大或改变尺寸的情况下其图形质量不会有所损失,是万维网联盟的标准. 下面整 ...
- flask之基础概念
[应用]一个 Flask 应用是一个 Flask 类的实例.可以在一个被称为应用工厂的函数内部创建 Flask实例.所有应用相关的配置.注册和其他设置都会在函数内部完成,然后返回这个应用.__init ...
- python基础-基础知识(包括:函数递归等知识)
老男孩 Python 基础知识练习(三) 1.列举布尔值为 False 的值空,None,0, False, ", [], {}, () 2.写函数:根据范围获取其中 3 和 7 整除的所有 ...
- 2、flask之基础知识点
本篇导航: 路由系统 视图函数 请求与响应 模版语法 session 蓝图(blueprint).闪现 (flash) 扩展 一.路由系统 1.可传入参数: @app.route('/user/< ...
随机推荐
- mysql优化概述3
1.前缀索引 建立索引关键字一种方案. 通常会使用字段的整体作为索引关键字. 有时,使用字段前部分数据,也可以去识别某些记录. 语法: index `索引名` (`字段`(N)); 使用字段前N个字符 ...
- springmvc使用list集合实现商品列表的批量修改
1将表单的数据绑定到List 1.1 需求 实现商品数据的批量修改. 1.2 需求分析 要想实现商品数据的批量修改,需要在商品列表中可以对商品信息进行修改,饼干且可以批量提交修改后的商品数据. 1.3 ...
- js验证开头不为零的正整数
WST.zhengZhengShuIn = function (className){ var rex = /^[1-9]{1}[0-9]*$/;//正整数 $("."+class ...
- Laravel 认证原理及完全自定义认证
Laravel 默认的 auth 功能已经是很全面了,但是我们也经常会碰到一些需要自定义的一些情况,比如验证的字段和默认的不匹配,比如需要能够同时满足 user name 和 email 认证等等.如 ...
- Java数据结构和算法(一)散列表
Java数据结构和算法(一)散列表 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 散列表(Hash table) 也叫哈希表 ...
- Jquery Mobile 随记
1. 设置全局的页面过渡效果 $.mobile.defaultDialogTransition='none';
- C++11新特性——The C++ standard library, 2nd Edition 笔记(一)
前言 这是我阅读<The C++ standard library, 2nd Edition>所做读书笔记的第一篇.这个系列基本上会以一章一篇的节奏来写,少数以C++03为主的章节会和其它 ...
- I2C总线驱动框架详解
一.I2C子系统总体架构 1.三大组成部分 (1)I2C核心(i2c-core):I2C核心提供了I2C总线驱动(适配器)和设备驱动的注册.注销方法,I2C通信方法(”algorithm”)上层的,与 ...
- generate
一:generate Verilog-2001添加了generate循环,允许产生module和primitive的多个实例化,同时也可以产生多个variable,net,task,function, ...
- HDU1312 Red and Black(DFS) 2016-07-24 13:49 64人阅读 评论(0) 收藏
Red and Black Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total ...