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. 关于C++中操作符重载的疑问 :四个运算符=, -&gt;, [], ()不可以重载为全局函数(友员函数)

    转载自:http://blog.csdn.net/u014610226/article/details/47679323     以下是对C++中不能重载为友元函数的四个运算符进行了详细的分析介绍,需 ...

  2. Tomcat中组件的生命周期管理公共接口Lifecycle

    Tomcat的组件都会实现一个Lifecycle接口,以方便组件的生命周期的统一管理 interface Lifecycle 组件生命周期中主要的几个方法 增加监听器,事件委托机制 public vo ...

  3. C#的SubString(int start,int end);

    C#的SubString(); 例子: string str = "i am a girl"; string temp = str.Substring(2,2);//从索引2开始, ...

  4. Koa2实用入门

    koa2已发布了一段时间,可以考虑入手,参见Node.js最新Web技术栈(2016年4月) 本文主要是koa 2的文档解读和runkoa介绍,让大家对koa 2有一个更简单直接的理解 一.依赖Nod ...

  5. Entity Framework取消修改

    最近碰到一个场景:在Entity Framework保存错误的时候,需要将该错误记录在DB中.因为DB在savechange的时候会继续保存之前的数据,所以一直会报错,无法保存错误日志. 这就需要实现 ...

  6. for-in循环

    //for in循环遍历var objs={"username":"hh","age":"20","sex&q ...

  7. c#调用本地命令并截取Output

    demo1: /// <summary> /// /// </summary> /// <param name="str"></param ...

  8. Jquery 筛选选择器

    筛选选择器(方法) 既然是方法 那就应该对象调用   obj.metch(); $(“.dd”).children("ul"),show();           //找到.dd下 ...

  9. 转载:Remote Validation

    http://www.jb51.net/article/89474.htm 大多数的开发者,可能会遇到这样的情况:当我们在创建用户之前,有必要去检查是否数据库中已经存在相同名字的用户.换句话说就是,我 ...

  10. 转载:@Html.ValidationSummary(true)

    ASP.NET MVC3 Model验证总结 @Html.ValidationSummary(true)   http://www.wyjexplorer.cn/Post/2012/8/3/model ...