Flask 视图,模板,蓝图.
https://www.cnblogs.com/wupeiqi/articles/7552008.html
1. 配置文件
from flask import Flask
app =Flask(__name__)
# app.secret_key="addd"
# app.debug=True
app.config.from_object("settings.ProductionConfig") #引入settings文件.
print(app.config["DEBUG"])
@app.route("/index")
def index():
return "index" if __name__ =="__main__":
app.run()
打印结果为
False
settings 文件
SECRET_KEY ="SDADFADF"
DEBUG=True class Config(object):
DEBUG=True
SECRET_KEY="ADFADF" class ProductionConfig(Config):
DEBUG=False class TestingConfig(Config):
Testing= True
2.路由
endpoint
@app.route("/order",endpoint="n2")
def order():
print(url_for("n2"))
print(url_for("n2"))
return "user"
if __name__ =="__main__":
app.run()
输出结果:
127.0.0.1 - - [/Sep/ ::] "GET /order HTTP/1.1" -
/order
/order
不写endpoint 默认是他的函数名称。
@app.route("/index") #默认传递字符串类型
def index(nid,num):
print(nid)
return "index"
@app.route("/order")
def order():
print(url_for("order"))
print(url_for("index"))
print(url_for("index"))
return "user"
@app.route("/xx1111",)
def xx():
print(url_for("xx"))
print(url_for("index"))
print(url_for("order"))
return "user"
打印结果:
127.0.0.1 - - [/Sep/ ::] "GET /xx1111 HTTP/1.1" -
/xx1111
/index
/order
marksafe功能:


全局功能:



flash

蓝图
设置.
from flask import Flask
from .views.account import bpaccount
from .views.code import bpcode
app = Flask(__name__)
app.config.from_object("settings.TestingConfig") def create_app():
app=Flask(__name__)
app.config.from_object("settings.DevelopmentConfig") app.register_blueprint(bpaccount)
app.register_blueprint(bpcode)
return app
settings
class Config(object):
DEBUG =False
SECRET_KEY="ADAFA"
class ProductionConfig(Config):
DEBUG = False class DevelopmentConfig(Config):
DEBUG = False class TestingConfig(Config):
TESTING=True
manage
from zzy import create_app
app =create_app()
if __name__ == '__main__':
app.run()
code 视图
from flask import Blueprint
bpcode =Blueprint("whq",__name__) @bpcode.route("/code")
def hailong():
return "海龙" @bpcode.route("/lizhanqing")
def lizhanqing():
return "李占青"
account视图
from flask import Blueprint,render_template
bpaccount =Blueprint("xzx",__name__) @bpaccount.route("/login")
def hailong():
return render_template("login.html") @bpaccount.route("/logout")
def lizhanqing():
return "登出"
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1> 用户登录</h1> </body>
</html>
before request 有app级别的,也有蓝图级别的
先说app级别的:
from flask import Flask,session,request,redirect
from .views.account import bpaccount
from .views.code import bpcode
app = Flask(__name__)
app.config.from_object("settings.TestingConfig") def auth():
if request.path=="/login":
return None
user_info =session.get("user_info")
if user_info:
return None return redirect("/login") def create_app():
print(66666666666)
app=Flask(__name__)
app.config.from_object("settings.DevelopmentConfig") app.register_blueprint(bpaccount)
app.register_blueprint(bpcode) app.before_request(auth)
# app级别的在登录
# @app.before_request
# def check_login():
# print("checklogin")
return app
蓝图级别的
account 视图
from flask import Blueprint,render_template
bpaccount =Blueprint("xzx",__name__)
@bpaccount.before_request
def check_login():
print("before request") @bpaccount.route("/login")
def hailong():
return render_template("login.html")
code视图
from flask import Blueprint
bpcode =Blueprint("whq",__name__) @bpcode.before_request
def check_login():
print("before1111111111check") @bpcode.route("/code")
def hailong():
return "海龙"

1. 蓝图做目录结构的划分。
2.蓝图中应用before_request应用
3.蓝图做url的划分.
url_prefix url前添加前缀 有点像Django的include
app.register_blueprint(bpaccount,url_prefix="/user")
app.register_blueprint(bpcode,url_prefix="/user")

url_for 反向解析,像是django的revers
from flask import Blueprint,render_template,url_for
bpaccount =Blueprint("xzx",__name__) @bpaccount.before_request
def check_login():
print("before request") @bpaccount.route("/login")
def hailong():
print(url_for("xzx.hailong"))
print(url_for("xzx.lizhanqing"))
print(url_for("whq.hailong"))
return render_template("login.html") @bpaccount.route("/logout")
def lizhanqing():
return "登出"
结果:
/login
/logout
/code

staticfiles and templates

Flask 视图,模板,蓝图.的更多相关文章
- Flask视图函数与模板语法
1.Django中的CBV模式 2.Flask中的CBV和FBV def auth(func): def inner(*args, **kwargs): result = ...
- 第九篇 Flask 中的蓝图(BluePrint)
第九篇 Flask 中的蓝图(BluePrint) 蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? ...
- python框架之Flask(3)-Blueprint(蓝图)
蓝图 用途 给开发者提供清晰的目录结构. 使用 目录结构 1.创建项目. 2.在项目目录下创建与项目名同名文件夹. 3.在 test_prj 文件夹下创建 __init__.py 文件,并在其中实例化 ...
- Flask最强攻略 - 跟DragonFire学Flask - 第九篇 Flask 中的蓝图(BluePrint)
蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看 ...
- python 全栈开发,Day120(路由系统, 实例化Flask的参数, 蓝图(BluePrint), before_request after_request)
昨日内容回顾 1.Flask: from flask import Flask app = Flask(__name__) # 从源码中可以看出,Flask集成的run方法是由werkzeug中的ru ...
- flask中的蓝图与红图
内容: 1.flask中的蓝图 2.flask子域名实现 3.flask中的红图 1.flask中的蓝图 一个大型项目中视图比较多,如果仅仅是写在app.py中不方便管理,蓝图就可以做到分功能分目录结 ...
- flask中的蓝图实现模块化的应用
Blueprint 蓝图的基本设想是当它们注册到应用上时,它们记录将会被执行的操作. 当分派请求和生成从一个端点到另一个的 URL 时,Flask 会关联蓝图中的视图函数. 简单来说,Blueprin ...
- 9,Flask 中的蓝图(BluePrint)
蓝图,听起来就是一个很宏伟的东西,在Flask中的蓝图 blueprint 也是非常宏伟的,它的作用就是将 功能 与 主服务 分开. 比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的 ...
- flask中的蓝图(BluePrint)
蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看 ...
- flask 第九篇 蓝图 Blueprint
蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看 ...
随机推荐
- MQ基础概念和介绍
一.中间件 MQ是一种中间件产品,至于什么是中间件,中间件能干什么,参见以下链接: http://baike.baidu.com/view/23710.htm 二.WebSphere MQ的原理 We ...
- net下载文件方法汇总
//TransmitFile实现下载 protected void Button1_Click1(object sender, EventArgs e) { /* 微软为Response对象提供了一个 ...
- sqlserver查询区分大小写
例子: select * from tb_students where name='jay' select * from tb_students where name='JAY' 这两句查询结果是一样 ...
- Mockplus是如何节省你的原型时间的?
还在用老牌原型工具一点点绘制产品原型吗?还在为实现一个满意的交互而绞尽脑汁吗?还在为无法和用户高效沟通而发愁吗?朋友,现在是快速原型的时代了.时间不等人,当你精雕细琢完成产品启动页的时候,别人的原型已 ...
- part1:2-嵌入式系统简单概念
1.3个特点+1个性质:以应用为中心.软硬件可裁剪.对功能-体积-功耗等有严格要求:专用的计算机系统. 应用领域: 软硬件可裁剪,是什么结构让嵌入式系统具备了这样的特点? 嵌入式系统的体系结构:硬件: ...
- XAMPP Apache + MariaDB + PHP + Perl
https://www.apachefriends.org/zh_cn/index.html 什么是XAMPP? XAMPP是最流行的PHP开发环境 XAMPP是完全免费且易于安装的Apache发行版 ...
- 2018.06.29 NOIP模拟 1807(简单递推)
1807 题目背景 SOURCE:NOIP2015-SHY-2 题目描述 给出一个由数字('0'-'9')构成的字符串.我们说一个子序列是好的,如果他的每一位都是 1.8.0.7 ,并且这四个数字按照 ...
- hadoop学习笔记(四):hdfs常用命令
一.hadoop fs 1.创建目录 [root@master hadoop-]# hadoop fs -mkdir /testdir1 [root@master hadoop-]# hadoop f ...
- SessionCacheTest03.testLoad Unrooted Tests initializationError
这个错误主要是没有加载@Test这个标签,就是把其转化为一个juit测试的类.增加之后就没有问题了,当然还有很多人说是自己的Juit的版本问题,那就改下版本,还有说是没有加载两个类包,为了完整我就把包 ...
- UVa 11167 Monkeys in the Emei Mountain (最大流)
题意:雪雪是一只猴子.它在每天的 2:00 —— 9:00之间非常渴,所以在这个期间它必须喝掉2个单位的水.它可以多次喝水,只要它喝水的总量是2.它从不多喝,在一小时内他只能喝一个单位的水.所以它喝水 ...
