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/< ...
随机推荐
- Car 加油
package com.hanqi; public class Car { //属性 成员变量 //车的颜色 String YanSe; //车的品牌 String PinPai; //邮箱容量 do ...
- python性能测试大致计划
hi guy: 如果注意到创建时间,那就对了.这份文章,是我学习Python一个月以后动手写的. 写下这份计划以后,只完成了第一步,其中磕磕绊绊编写代码的过程,很大一部分时间是完全用txt写的 ...
- laravel表单图片上传
1.视图 2.控制器
- url传递数据
一.post传递数据 $ci = curl_init($url); curl_setopt($ci, CURLOPT_HEADER, 0); curl_setopt($ci, CURLOPT_RETU ...
- 值得一看!2018年最优秀的9个Android Material Design Apps!
今年4月,谷歌Gmail推出了全新的设计外观,全新的配色方案,更多的空白区域和精致的图标.也带来了Material Design 的一些改变 – Material Theming (材料主题),旨在自 ...
- Git使用1
1.先配置本地Git E:\personal>git config –-global user.name "lewy" E:\personal>git config – ...
- pyspider示例代码七:自动登陆并获得PDF文件下载地址
自动登陆并获得PDF文件下载地址 #!/usr/bin/env python # -*- encoding: utf- -*- # Created on -- :: # Project: pdf_sp ...
- 实现KbmMw web server 支持https
在以前的文章里面介绍过kbmmw 做web server. 前几天红鱼儿非要我给他做一个支持https 的web server. 其实kbmmw 支持https 有好几种方法: 1. 使用isapi ...
- hdu-1171(多重背包+二进制优化)
题目链接: 思路:找每次最多装一半的情况,注意数组范围,前几次dp开小了,一直RE. #include<iostream> #include<cstdio> #include& ...
- Mysql & Hive 导入导出数据
---王燕行转列sql select split(concat_ws(',',collect_set(cast(smzq as string))),',')[1] ,split(concat_ws(' ...