Flask_安装和配置(一)
安装Flask
pip install flask
一 .创建Flask项目
Flask与Django相比,没有提供任何自动创建项目的操作,所以需要手动创建项目及启动项目的管理文件
例如,创建项目目录demo,在目录中创建hello.py并启动该项目。
from flask import Flask # 创建flask的应用对象
app = Flask(__name__,
static_url_path="/python",
static_folder="static2",
template_folder="demo",
) # 定义路由
@app.route("/")
# 定义视图
def index():
return "hello flask" if __name__ == '__main__':
# 启动项目
app.run()
访问视图函数

初始化参数说明
- import_name:不可缺省。定义flask框架的跟目录。参数 __name__ 表示以当前模块所在目录为flask的根目录。若要指定其他目录为根目录传对应目录名即可。若指定的目录不存在,则默认以启动目录为根目录。
- static_url_path:可缺省。访问静态资源的url前缀。若缺省,默认访问路径为static。
- static_folder:可缺省。存放静态资源的目录名称。若缺省,默认目录名称为static。
- template_folder:可缺省。存放模板文件的目录名称。若缺省,默认目录名称为templates。
访问静态资源

二、配置参数
2.1 启动配置参数
if __name__ == '__main__':
# 启动项目
app.run(host="192.168.3.110", port=9898, debug=True)
参数说明:
- host:启动绑定的IP
- port:启动绑定的端口
- debug:是否开启debug模式,默认不开启。

2.2 配置参数的使用方式&自定义配置参数&读取配置参数
1、读取配置文件使用配置参数
app.config.from_pyfile("config.cfg")

2、直接操作config的字典对象使用配置参数
app.config["DEBUG"] = True
app.config["LANGUAGE"] = "Java"
3、定义Config类对象使用配置参数
class Config(object):
DEBUG = True
# 自定义配置信息。自定义的配置信息需大写,否则配置无效。
LANGUAGE = "python" app.config.from_object(Config)
上面3种配置方式中的LANGUAGE 为自定义配置参数,自定义的配置参数必须大写,否则无效。
不管是默认的还是自定义的配置参数均保存在 config 这个字典中,所以使用字典的取值方法均能读取配置参数。读取配置的方法有两种:
- 从全局对象app的config字典中取值
- 从current_app的config字典中取值
from flask import Flask, current_app
...
@app.route("/")
def index():
print(app.config)
# 读取配置参数
# 1、从全局对象app的config字典中取值
# language = app.config.get("LANGUAGE")
# 2、从current_app的config字典中取值
language = current_app.config.get("LANGUAGE")
return F"hello {language}"



from flask import Flask, current_app # 创建flask的应用对象
app = Flask(__name__,
static_url_path="/python",
static_folder="static2",
template_folder="demo",
)
"""
import_name:不可缺省。定义flask框架的跟目录。参数 __name__ 表示以当前模块所在目录为flask的根目录。若要指定其他目录为根目录传对应目录名即可。若指定的目录不存在,则默认以启动目录为根目录。
static_url_path:可缺省。访问静态资源的url前缀。若缺省,默认访问路径为static。
static_folder:可缺省。存放静态资源的目录名称。若缺省,默认目录名称为static。
template_folder:可缺省。存放模板文件的目录名称。若缺省,默认目录名称为templates。
""" # 配置参数的使用
# 1、读取配置文件使用配置参数
# app.config.from_pyfile("config.cfg") # 2、直接操作config的字典对象使用配置参数
# app.config["DEBUG"] = True
# app.config["LANGUAGE"] = "Java" # 3、定义Config类对象使用配置参数
class Config(object):
DEBUG = True
# 自定义配置信息。自定义的配置信息需大写,否则配置无效。
LANGUAGE = "python" app.config.from_object(Config) @app.route("/")
def index():
print(app.config)
# 读取配置参数
# 1、从全局对象app的config字典中取值
# language = app.config.get("LANGUAGE")
# 2、从current_app的config字典中取值
language = current_app.config.get("LANGUAGE")
return F"hello {language}" if __name__ == '__main__':
# 启动项目
# app.run(host="192.168.3.110", port=9898, debug=True)
app.run()
Flask_安装和配置(一)的更多相关文章
- JDK安装与配置
JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- 烂泥:redis3.2.3安装与配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自 ...
- mysql源码包手动安装、配置以及测试(亲测可行)
笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...
- 环境搭建系列-系统安装之centos 6.5安装与配置
按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...
- ZooKeeper安装与配置
一. 单机安装.配置: 1. 下载zookeeper二进制安装包下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3 ...
- mac 下JDK 与 tomcat 的安装与配置
一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...
- 烂泥:zabbix3.0安装与配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置 ...
- Jenkins入门系列之——02第二章 Jenkins安装与配置
2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...
随机推荐
- 【Java】【IDE】【Jetbrain Idea】Intellij IDEA 快捷键整理
[常规] Ctrl+Shift + Enter,语句完成 "!",否定完成,输入表达式时按 "!"键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更 ...
- Java定时器演进过程和生产级分布式任务调度ElasticJob代码实战
为何要使用分布式任务调度 **本人博客网站 **IT小神 www.itxiaoshen.com 演示项目源码地址** https://gitee.com/yongzhebuju/spring-task ...
- Jsp/servlet分页五要素
分页5要素: * 1)pageIndex 当前页 * 2)startIndex 从第几条数据开始 * 3)countAll 总条目数 * 4)pageSize 每页大小 * 5)pageCount 总 ...
- Python格式处理
目录 一.CVS表格 二.xml 三.json 四.yml 五.配置文件 六.数据库 一.CVS表格 import csv villains = [ ['Doctor', 'No'], ...
- 分布式调用链跟踪工具Jaeger?两分钟极速体验
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Linux驱动实践:一起来梳理中断的前世今生(附代码)
作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). ...
- 突破类型限制的“数据透视图”(Excel技巧集团)
Excel中,图表一共16个大类,但是数据透视图却被"阉"了好几个-- 这也就是说,数据透视图无法与上图中高亮标出的图表类型并存了? 确实如此,但并不绝对,因为我们可以在" ...
- Django中提示消息messages的设置
1. 引入messages模块 1 from django.contrib import messages 2. 把messages写入view中 1 @csrf_exempt 2 def searc ...
- java 常用类库:格式化NumberFormat;SimpleDataFormat类(转换Data()对象);DateTimeFormatter 转换LocalDateTime时间对象
NumberFormat类 该类是一个做数字格式化的类,它是一个抽象类,无法实例化.它提供了parse()和format()方法,其中format用于将数值,格式转化成字符串,parse()用于把字符 ...
- js Uncaught TypeError: undefined is not a function
如下代码: var columns={}; var column={}: column.name='张三'; columns.push(column); 会出现Uncaught TypeError: ...