flask系列二之基础知识
一、调试模式(debug模式)
1、设置debug模式
在app.run()中传入关键字参数debug,app.run(debug=Ture),就设置当前项目为debug模式。如下所示:
# 从flask框架中导入Flask类
from flask import Flask # 传入__name__初始化一个Flask实例
app = Flask(__name__) # app.route装饰器映射URL和执行的函数。这个设置将根URL映射到了hello_world函数上
@app.route('/')
def hello_world():
return 'Hello World!' # 运行本项目
if __name__ == '__main__':
app.run(debug=True)
2、debug模式的两大功能
(1)当程序出现问题的时候,可以在网页中看到具体的错误信息。如果没有设置debug模式,出现错误时在网页上只是出现“内部服务器错误”的信息。
(2)当你的程序已经部署成功,这时你修改你的程序代码,在debug模式下程序会检测到代码的改变并且会自动重新加载(有种热部署的感觉),就不需要手动重启了。
二、巧用配置文件来配置参数config.py
1、 新建一个config.py
文件
比如之前的那种配置Debug模式的方法可以通过config文件来配置的。
config.py中:
DEBUG = True # 改成False就可以关闭DEBUG模式
2、在主app文件中导入这个文件,并且配置到app
中,示例代码如下: (app.config.from_object(config))
# 从flask框架中导入Flask类
from flask import Flask # 传入__name__初始化一个Flask实例
app = Flask(__name__)
app.config.from_object(config) # 这样也可以配置成DEBUG模式 # app.route装饰器映射URL和执行的函数。这个设置将根URL映射到了hello_world函数上
@app.route('/')
def hello_world():
return 'Hello World!' # 运行本项目
if __name__ == '__main__':
app.run(debug=True)
3、还有许多的其他参数,都是放在这个配置文件中,比如连接数据库相关的参数
三、URL传参数
- 参数的作用:可以在相同的URL,但是指定不同的参数,来加载不同的数据。
- 在flask中如何使用参数
@app.route('/article/<id>')
def article(id):
return '你请求的参数是:%s' % id(1)参数需要放在两个尖括号中 (2)视图函数中需要放和url中的参数同名的参数。四、URL反转
四、URL反转
反转的意义在于通过视图名称可以获得与之对应的url
使用方式为
(1)从flask导入url_for
from flask import url_for
(2)在url_for中传入视图名称
url_for('page_name_view')
五、页面跳转(redirect)和重定向
- 用处:在用户访问一些需要登录的页面的时候,如果用户没有登录,那么可以让她重定向到登录页面。
- 代码实现:
from flask import Flask,redirect,url_for
redirect(url_for('login'))
flask系列二之基础知识的更多相关文章
- Mina 系列(二)之基础
Mina 系列(二)之基础 Mina 使用起来多么简洁方便呀,就是不具备 Java NIO 的基础,只要了解 Mina 常用的 API,就可以灵活使用并完成应用开发. 1. Mina 概述 首先,看 ...
- Spring Ioc源码分析系列--Ioc的基础知识准备
Spring Ioc源码分析系列--Ioc的基础知识准备 本系列文章代码基于Spring Framework 5.2.x Ioc的概念 在Spring里,Ioc的定义为The IoC Containe ...
- ERP-非财务人员的财务培训教(一.二)------财务基础知识
二.基本财务管理知识 第一节 财务管理基础知识(一) 财务与会计的关系 会计的基础知识 (一) 财务与会计的关系 财务与会计的内涵 1.会计 会计工作主要是解决三个环节的问题: 会计凭证 会计账簿 会 ...
- VBS学习日记(二) 基础知识
VBScript 基础知识 一.变量 1.全部单引號后面的内容都被解释为凝视.(在vbsedit中ctrl+m凝视,反凝视ctrl+shift+m) 2.在 VBScript 中,变量的命名规则遵循标 ...
- [Windows驱动开发](二)基础知识——数据结构
本节主要介绍驱动开发的一些基础知识. 1. 驱动程序的基本组成 1.1. 最经常见到的数据结构 a. DRIVER_OBJECT驱动对象 // WDK中对驱动对象的定义 // 每个驱动程序都会有一个唯 ...
- 【Linux系列】Linux基础知识整理
Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...
- Java 8实战之读书笔记二:基础知识
好记性不如烂笔头,整理一些个人觉得比较重要的东西. 一.基础知识 第1章 为什么要关心Java 8 Java 8提供了一个新的API(称为"流", Stream),它支持许多处理数 ...
- Python学习系列(二)(基础知识)
Python基础语法 Python学习系列(一)(基础入门) 对于任何一门语言的学习,学语法是最枯燥无味的,但又不得不学,基础概念较繁琐,本文将不多涉及概念解释,用例子进行相关解析,适当与C语言对比, ...
- Flask系列(二)Flask基础
知识点回顾 1.flask依赖wsgi,实现wsgi的模块:wsgiref(django),werkzeug(flask),uwsgi(上线) 2.实例化Flask对象,里面是有参数的 app = F ...
随机推荐
- memcache笔记
服务端: 通过printf配合nc向memcached中写入数据[root@yz6245 ~]# printf "set key1 0 0 6\r\noldboy\r\n" |nc ...
- html5新增语义化标签
注意:body.section.nav 需要h1-h6. div.header则不需要. 1):<article> 显示一个独立的文章内容. 例如一篇完整的论坛帖子,一则网站新闻,一篇博客 ...
- Centos6.8 JDK配置
记录一下在这个服务器配置的过程 ssh root@IP Password --------------------------------------------------------------- ...
- LeetCode OJ:Plus One (加1)
Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...
- 《Drools7.0.0.Final规则引擎教程》第4章 4.3 定时器
定时器 规则用基于 interval(间隔)和cron的定时器(timer),替代了被标注过时的duration 属性.timer属性的使用示例: timer ( int: <initial d ...
- Could not publish to the server.Please assign JRE to the server
1.错误描述 2.错误原因 由错误提示可知,是Tomcat未绑定JRE,导致报错 3.解决办法 (1)删除新建Tomcat (2)重新新建一个Tomcat,配置好Tomcat路径和JRE路径
- Android 进阶13:几种进程通信方式的对比总结
不花时间打基础,你将会花更多时间解决那些不必要的问题. 读完本文你将了解: RPC 是什么 IDL 是什么 IPC 是什么 Android 几种进程通信方式 如何选择这几种通信方式 Thanks RP ...
- zoj-3963 Heap Partition(贪心+二分+树状数组)
题目链接: Heap Partition Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge A sequence ...
- (四)js数组方法一
ES5数组方法: Array.prototype.filter() 对数组元素进行过滤 三个参数:元素值,下标,原数组 返回:过滤后符合条件的数组,不会改变原数组 let arr = [2,4,6 ...
- 查看 nginx 的并发连接数
通过查看Nginx的并发连接,我们可以更清除的知道网站的负载情况.Nginx并发查看有两种方法(之所以这么说,是因为笔者只知道两种),一种是通过web界面,一种是通过命令,web查看要比命令查看显示的 ...