安装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()