debug = True开启debug模式 当你的代码在界面增减之后不用刷新界面自动更新

app.logger.error("这是error模式")
app.logger.info("这是info模式")
app.logger.debug("这是debug模式")

生产环境中一般都是用error模式

methods

我们可以在路由中设置你的methods就是你的路由所支持的所有的请求类型,默认的是get请求  如果你想要修改支持其他请求 也必须要带上get请求

@app.route("/",methods=["post","get"])  #methods是表示支持的请求类型默认是get

def index():
return "您好"

request.query_string

表示你的url中的所有的数据
request.form    请求体中的数据在form中
   

配置文件:

因为你的主分区的功能会有很多那么你的所有的定义都放入其中吗?NO,我们可以把一起配置放入一个文件内 然后导入进来使用增加解耦性

你的配置文件放在的文件中需要是一个类中

设置你的配置文件

class Settings(object):
DEBUG = True SECRET_KEY = "dasb" SERVER_NAME = "www.baidu.com:9980"

导入你的配置文件用:app.config.form_object(你的配置文件)

from settings import Settings,STUDENT_DICT  #导入你的 配置文件

app = Flask(__name__)# 实例化一个flask对象
app.config.from_object(Settings) # 配置你的导入的文件中的类 这个类中放置的是你的配置信息
app.secret_key = "" # 开启你的session 给你的session赋值 开启session
from flask import Flask,render_template
from one.settings import Settings,dict # 导入配置文件类 同时也要导入你的配置文件类中的要引用的内容 不然无法使用 app = Flask(__name__)
app.config.from_object(Settings) #接收你的配置文件 @app.route("/")
def one():
return "hello world" @app.route("/set")
def set():
return str(dict) # 使用你的配置文件类中的内容 if __name__ == "__main__":
app.run("127.0.0.1",9867,debug = True)

然后你的 setting的配置中的类中的信息 不需要再次进行导入就可以直接使用了 这样相当于已经把信息导入了进行

今天我们就来了解下 什么是Flask的路由系统

Falsk的路由系统其实我们并不陌生就是在你的请求执行的函数上加上一个类似于装饰器的路由

@app.route("要请求的url")

@app.route("/",methods=["POST","GET"])

这个就类似于一个装饰器把你的函数给包裹了 但是这个也是你的路由的写法,methods是你的允许请求的方式  默认为GET

路由的匹配模式:strict_slashes 可以修改这个模式让它是严格模式还是一般模式

@app.route("/index/",strict_slashes= True) # strict_slashes是严格匹配模式 就是你的url信息如果这里面输入的是什么浏览器也要是什么 必须是和这个一致 一个/ 都不能少

如果你的strict_slashes事等于True然后你的请求的url后面没有加上/那么会一直报错 因为你的浏览器会默认补上那个后面的/

url别名:endpoint 给你的url地址起一个别名,url_for反向生成一个url 可以通过url_for()来反向查找这个别名

@app.route("/index/",strict_slashes= True,endpoint="r_index") 

可以通过url_for()来打印这个别名 反向生成

from flask import url_for  #导入url_for

@app.route("/index/",strict_slashes= True,endpoint="r_index")
def index():
print(url_for("r_index")) #/index/
btn = "<a href='/add_stu'>添加信息</a>"
btn = Markup(btn)
return render_template("index.html",stu=STUDENT_DICT,btn = btn)

 url_for:

@app.route("/")
def one():
url = url_for("set") # 找到你的对应的方法的路径
return "hello world"+url #然后把这个路径也给返回出去 @app.route("/seet")
def set():
return str(dict) # 使用你的配置文件类中的内容

显示的就是:

就把你的获取的这个方法url给显示出来

defaults : 视图函数的参数默认值{"nid":1}

@app.route("/index/",strict_slashes= True,endpoint="r_index",defaults={"nid":100})
def index(nid): # 这里必须要接收你的defaults内传递进来的参数
print(nid) #打印这个参数
btn = "<a href='/add_stu'>添加信息</a>"
btn = Markup(btn)
return render_template("index.html",stu=STUDENT_DICT,btn = btn)

redirect_to : url地址重定向

@app.route("/index/",strict_slashes= True,endpoint="r_index",defaults={"nid":100},redirect_to="/index_to/")  # redirect_to 跳转到你的这个后面输入的url
def index(nid): # 这里必须要接收你的defaults内传递进来的参数
print(nid) #打印这个参数
btn = "<a href='/add_stu'>添加信息</a>"
btn = Markup(btn)
return render_template("index.html",stu=STUDENT_DICT,btn = btn) @app.route("/index_to/",strict_slashes=True) #严格匹配模式
def index_one(): return "二狗子"

动态参数路由:

@app.route("/info/<int:nid>",endpoint="r_info")
def info(nid):
print(nid)
print(url_for("r_info",nid=1)) #反向生成的时候也要给一个值
return "动态参数"

Flask配置文件和 路由系统的更多相关文章

  1. 11.2 Flask 配置文件,路由系统

    配置文件系统 构建 Flask 应用时指定 app = Flask( __name__, template_folder = '', # 指定存储模板文件夹名称 static_url_path = ' ...

  2. 第一篇 Flask基础篇之(配置文件,路由系统,模板,请求响应,session&cookie)

    Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后 ...

  3. 第六篇 Flask中的路由系统

    Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST" ...

  4. flask配置文件、路由设置、模板语法、请求与响应、session使用、闪现功能(flash)

    今日内容概要 flask 配置文件 flask 路由系统 flask模板语法 请求与相应 session 闪现(flash翻译过来的) 内容详细 1.flask 配置文件 # django ---&g ...

  5. Flask 中的路由系统

    基本用法 Django的路由系统url集中在一起,而Flask的路由系统以装饰器的形式装饰在视图上如: @app.route("/",methods=["GET" ...

  6. python 全栈开发,Day120(路由系统, 实例化Flask的参数, 蓝图(BluePrint), before_request after_request)

    昨日内容回顾 1.Flask: from flask import Flask app = Flask(__name__) # 从源码中可以看出,Flask集成的run方法是由werkzeug中的ru ...

  7. 第七篇 Flask 中路由系统以及参数

    Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST" ...

  8. Flask最强攻略 - 跟DragonFire学Flask - 第七篇 Flask 中路由系统

    Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST" ...

  9. 7,Flask 中路由系统

    Flask中的路由系统 @app.route("/",methods=["GET","POST"]) 为什么要这么用?其中的工作原理我们知道 ...

随机推荐

  1. jquery获取input的checked属性

    1.经常需要判断某个按钮是否被选中. 2.基于jquery. <!DOCTYPE html> <html lang="en"> <head> & ...

  2. C语言中两个相同类型的结构体变量之间是可以相互直接赋值的

    C语言中,在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,而两个同类型的结构体变量属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的.所以,在C语言中两个相同类型的结构体变量 ...

  3. 国际化实现之基于jquery

    jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化. jQuery.i18n.properties 采用 .properties 文件对 Jav ...

  4. 前端神器之Sublime Text2/3简单明了使用总结

    为什么叫神器呢? 我总结如下: 第一:也是最重要的,它占内存很小(就如同notepad++那般迅速打开,所以那款其实也不错~).一般IDE比如WebStorm(它也是一款神器来着),Aptana(也比 ...

  5. bootstrap 报错

    1. bootstrap table 加载出错,前台报错 Cannot read property 'colspan' of undefined { title : '设备类型', field : ' ...

  6. 如何在 Ubuntu 14.04 上安装 Elasticsearch,Logstash 和 Kibana

    介绍 在本教程中,我们将去的 Elasticsearch 麋鹿堆栈安装 Ubuntu 14.04 — — 那就是,Elasticsearch 5.2.x,Logstash 2.2.x 和 Kibana ...

  7. select SCOPE_IDENTITY()用法

    select SCOPE_IDENTITY() 返回上面操作的数据表最后row的IDENTITY 列的值: 返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值.一个作用域 ...

  8. 关于Java中语句符号及格式的理解

    关于Java中语句符号及格式的理解 这篇文章是撰写的第一篇文章,在此作一下博主是一名在读的工科研究生,种种原因,研二开始决定转行从事程序员工作.开始的自学之路并不算非常顺畅,也走了一点弯路,但一直都坚 ...

  9. 使用引用类型变量来访问所引用对象的属性和方法时,Java 虚拟机绑定规则

    通过引用类型变量来访问所引用对象的属性和方法时,Java 虚拟机将采用以下绑定规则: 实例方法与引用变量实际引用的对象的方法进行绑定,这种绑定属于动态绑定,因为是在运行时由 Java 虚拟机动态决定的 ...

  10. PoPo数据可视化周刊第6期

    PoPo数据可视化 聚焦于Web数据可视化与可视化交互领域,发现可视化领域有意思的内容.不想错过可视化领域的精彩内容, 就快快关注我们吧 :) 本期可视化精彩视频请关注公众号浏览 全天智能获Pre-A ...