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. Linux-(which,whereis,locate,find)

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which  查看可执行文件的位置. whereis 查看文件的位置. locate   配合数据库查看文件位置 ...

  2. Windows下整合apache和Tomcat

    1.前言: 引用:http://www.cnblogs.com/liaokailin/p/3963603.html 引用的博客里面有比较详细的说明,并且结合图片,非常生动: 我这里只做简单的说明和整合 ...

  3. 代码查看php是否已开启rewrite功能模块

    通过php代码来查询,是否把rewrite模块打开了 <?php $result = apache_get_modules(); if(in_array('mod_rewrite', $resu ...

  4. 玩转mongodb(六):索引,速度的引领(普通索引篇)

    数据库索引与书籍的索引类似,有了索引就不需要翻整本书,数据库可以直接在索引中查找,在索引中找到条目后,就可以直接跳到目标文档的位置,这可以让查找的速度提高几个数量级. 一.创建索引 我们在person ...

  5. ES6那些事半功倍的新特性(一)

    数组方面 Array.from(xxx):把json格式字符串转换成数组: Array.of(x,x,x):负责把一堆文本或者变量转换成数组 find( ):该方法为实例方法,就是以Array对象开头 ...

  6. Maven 添加 Tomcat 插件

    若想在 Maven 中使用 Tomcat 服务器,需要在 pom.xml 文件中的 <build></build> 标签中添加以下代码 <!-- Maven项目编译插件 ...

  7. UIKit 框架之UISearchBar、UITableViewController

    // // tableViewController.m // tableVC // // Created by City--Online on 15/6/1. // Copyright (c) 201 ...

  8. github删除仓库

    有的时候github的仓库创建错误了,不用了,想删除仓库 1.进入仓库,选择设置 2.拉到最下面,有一个Delete this repository删除仓库按钮,点击 3.输入需要删除的仓库的名称,直 ...

  9. 【清北学堂 】Day 4 总结

    忙(tui)了这么多天,终于有时间认(sui)真(bian)做做总结了 随便开始:(反正也没听 一:读入输出优化 1 输入优化 <1>快读    废话不多说上代码 inline int r ...

  10. 利用SignalR来同步更新Winfrom小试

    之前写了个用Socket来更新多个Winfrom的试例,这两天看了下SignalR,也用这个来试一下 SignalR 地址:https://www.asp.net/signalr 我这个也是基于 ht ...