Flask创建app对象

app = Flask(__name__)

(1)初始化参数

  • __name__:导入路径(寻找静态目录与模板目录位置的参数)
  • static_url_path:访问静态资源的url前缀,默认值是static,用于区分用户访问内容是静态资源还是动态路由
  • static_folder:静态文件目录默认static
  • template_folder:默认templates

示例

# coding:utf-8

from flask import Flask                                                     
                                                                             
# 创建flask应用                                                             
app = Flask(__name__,
			static_url_path='/python')                                                       
   
# 访问路由地址                                                                         
@app.route('/')                                                             
def index():                                                                
	return 'hello world'                                                    
                                                                            
if __name__ == '__main__':                                                  
	# 启动flask程序                                                         
   	app.run()

访问

http://127.0.0.1:5000/python/index.html

python flask 路由参数 flask 路由多参数_python


(2)配置参数的导入(以下三种方式都可以)

app.config相当于一个字典

1.使用配置文件

# 从py文件中获取配置参数(需要手动在项目中创建一个配置文件例:config.cfg)
app.config.from_pyfile('config.cfg')  # 相对于当前文件路径

2.使用对象配置参数

class Config(object):
	DEBUG = True

# 从对象中获取配置参数
app.config.from_object(Config)

3.直接操作config,配置参数较少时使用

app.config['DEBUG'] = True

(3)配置参数在视图函数中的使用

# coding:utf-8

from flask import Flask                                                     
                                                                             
# 创建flask应用                                                             
app = Flask(__name__,
			static_url_path='/python')                                                       
 
class Config(object):
	DEBUG = True
	NAME = 'Flask'

# 从对象中获取配置参数
app.config.from_object(Config)   

# 访问路由地址                                                                         
@app.route('/')                                                             
def index(): 
	# 使用配置参数    
	name = app.config.get('NAME')  # app.config['NAME']                                                           
	return name                                                            
                                                                   
if __name__ == '__main__':                                                  
	# 启动flask程序                                                         
   	app.run()

python flask 路由参数 flask 路由多参数_flask基本配置参数说明_02


(4)current_app的使用及说明

说明:current_app类似于一个全局化的app对象,current_app被称为应用上下文,可以在flask应用全局任意地方使用,防止我们脱离app应用所在文件时无法使用到app对象。

示例: 我们flask应用文件为hello.py,我们在另一个文件views.py中定义了视图函数,此时我们在该文件下则无法拿到app对象,但我们必须通过他来读取配置文件,我们就可以导入current_app全局对象,从而读取配置文件。

test.py

# coding:utf-8

from flask import Flask
from view import index                                                   
                                                                             
# 创建flask应用                                                             
app = Flask(__name__,
			static_url_path='/python')                                                       
 
class Config(object):
	DEBUG = True
	NAME = 'Flask'

# 从对象中导入配置参数
app.config.from_object(Config) 

# 访问路由地址                                                                         
app.route('/')(index)  
                                                          
                                                                   
if __name__ == '__main__':                                                  
	# 启动flask程序                                                         
   	app.run()

view.py

from flask import current_app
                                                            
def index(): 
	# 使用配置参数    
	name = current_app.config.get('NAME')  # app.config['NAME']                                                           
	return name

python flask 路由参数 flask 路由多参数_python_03


(5)启动程序

if __name__ == '__main__':                                                  
	# 启动flask程序                                                         
   	app.run()

默认绑定到127.0.0.1,我们只能通过127.0.0.1:5000这个地址访问,除此之外的地址你都访问不了。

if __name__ == '__main__':                                                  
	# 启动flask程序                                                         
   	app.run(host='0.0.0.0', port=5000)

此时你既可以通过项目所在机器真实IP:5000访问,也可以通过127.0.0.1:5000访问,debug参数也可以通过app.run()来配置。

if __name__ == '__main__':                                                  
	# 启动flask程序                                                         
   	app.run(host='0.0.0.0', port=5000, debug=True)