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 ...
随机推荐
- typora使用快捷键
1. Ctrl+/ 切换源码模式2. ```css 选择语言 回车.4. `code` ctrl+shit+` 5. # 1号标题 ctrl+1 ### 3号标题 ctrl+3 ######6号标题 ...
- 远程连接mysql库问题
如果你想连接你的mysql的时候发生这个错误: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL serve ...
- 【Linux】【Web】【Nginx】配置nginx日志到远程syslog服务器
1. 概述: 主要是用于吧nginx的日志直接传送到远程日志收集的服务器上.远程日志服务器只要能够支持syslog协议都能够收到日志,本文的syslog服务器是IBM的日志收集系统Qradar. 2. ...
- 走进Spring Boot源码学习之路和浅谈入门
Spring Boot浅聊入门 **本人博客网站 **IT小神 www.itxiaoshen.com Spring Boot官网地址:https://spring.io/projects/spring ...
- 【笔记】草履虫也能看懂的ELK搭建流程
环境需要 Elasticsearch需要JAVA环境,至少是JDK1.8 elasticsearch 不允许root用户使用,需要新增个elk用户 如果觉得官网下载太慢,可以使用这个 https:// ...
- 项目开发中,真的有必要定义VO,BO,PO,DO,DTO这些吗?
存在即是合理的,业务复杂,人员协同性要求高的场景下,这些规范性的东西不按着来虽然不会出错,程序照样跑,但是遵守规范会让程序更具扩展性和可读性,都是前辈血淋淋的宝贵经验,为什么不用? 随着现在后端编程标 ...
- 01 - Vue3 UI Framework - 开始
写在前面 一年多没写过博客了,工作.生活逐渐磨平了棱角. 写代码容易,写博客难,坚持写高水平的技术博客更难. 技术控决定慢慢拾起这份坚持,用作技术学习的阶段性总结. 返回阅读列表点击 这里 开始 大前 ...
- Sentry 监控 - 私有 Docker Compose 部署与故障排除详解
内容整理自官方开发文档 系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Map ...
- smbclient 使用方法
1,列出某个IP地址所提供的共享文件夹 smbclient -L 198.168.0.1 -U username%password 2,像FTP客户端一样使用smbclient smbcl ...
- 转: 再谈select, iocp, epoll,kqueue及各种I/O复用机制
首先,介绍几种常见的I/O模型及其区别,如下: blocking I/O nonblocking I/O I/O multiplexing (select and poll) signal drive ...