当一个Flask框架中有一个启动Flask的主程序文件和多个网站的APP文件时,
主程序文件需要从APP文件中导入相关APP站点函数,
APP文件需要从主程序文件中导入app实例,
当主程序文件运行时,主程序与APP站点文件同时导入对方,模块先后顺序错乱,导致模块导入堵塞发生异常。
##扩展模块:Blueprint

>主程序文件- 阅读剩余部分 -
使用方法:redirect
导入方法:from flask import redirect
格式:redirect('重定向到的目录')

访问页面直接重定向:

##上传文件表单:

##上传文件:
```python
f = request.files['文件参数'] //文件套接字
f.filename //文件名
```

##完整代码:

```
methods中指定所支持的请求方法:
> GET
POST
HEAD
PUT
DELETE
##获取请求:request,response
```python
需要先导入: from flask import request
```
####request方法:
```python
request.method //提交方- 阅读剩余部分 -
##设置路径参数:


默认标识是尖括号:
##路径参数的默认值:
参数允许有默认值:
如果有默认值,那么在路由中不传参数也是ok的
如果没有默认值,参数在路由中必须传递!
##路径参- 阅读剩余部分 -
1\. 导入 Flask 类
```python
from flask import Flask
```
2\. 创建一个该类的实例,第一个参数是应用模块的名称。 如果你使用单一的模块(如本例),你应该使用 \_\_name\_\_ ,因为模块的名称将会因其作为单独应用启动还是作为模块导入而有不同。
```python
app = Flask(__name__)
```
3\. 使用 route() 装饰器告诉 Flask 什么样的URL 能触发函数。
- 阅读剩余部分 -
将多个字典合并成一个字典

方法一:不推荐的方法

方法二:python3.4以下版本推荐使用
 #如果value有值返回True,否则返回False
```
##方法二:
```python
print(False if not value else True) #如果value没值返回False,否则返回True
```
##列表解析:
**列表解析格式:**
```python
[需要输出的变量 for 变量 in 原列表 if 条件语句]
```
**原理:**变量原列表赋值给变量,如果变量符合条件则输出该变量。
**实例1:**

:
print(arg,args,kwargs)
function(6,7,8,9,a=1, b=2, c=3)
```
**结果:**6 (7,8,9) {'a':1,'b':2,'c':3}
**解析:** arg只能放一个参数;
\*args可以放多个- 阅读剩余部分 -