一:Flask应用的布局

好的一个web application需要有一个优良的项目结构用来组织代码,这里给大家推荐一个项目文件结构。

结构如下:

manage.py
requirements.txt
applicatipn/
app.py
config.py
filters.py
forms.py
__init__.py
models.py
static/
templates/

__init__.py是一个空文件,目的是为了告诉python这个应用是被当作一个包。

config.py是用来存放一些配置信息,后面将会接受。

forms.py是用来实现表单类的,借助了flask-wtf。

models.py是用来实现ORM,借助了flask-sqlalchemy。

static目录是存放一些静态文件的,例如css样式,js等

templates是存放一些网页模板文件的。

requirements.txt 是用来存放这个web app使用了哪些扩展。其他用户可以通过pip -r requirements.txt来批量下载这里面的扩展

这些文件占时都是空的,后面的教程将会一点一点往里面加东西。

app.py存放了以下代码:

# encoding=utf-8
from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello World!"

没有了app.run,该怎么让这个代码跑起来呢。这里是使用manage.py来管理代码的运行。

二:Flask的Script扩展

项目文件组织已经基本ok了那么下一步需要借助manage.py来实现对代码的运行管理。

首先看一下manage.py中的内容:

# encoding=utf-8
from flask.ext.script import Manager
from app.app import app
manager = Manager(app)
app.config['DEBUG'] = True
if __name__ == '__main__':
 manager.run()

这个manage.py是需要flask的第三方扩展script来支持的,所以我们需要下载安装script扩展。

Flask实例教程二_python

from flask.ext.script import Manager 从script中导入了Manager这个API

from application.app import app 从application这个项目中的app.py中导入了app对象(app对象是一个Flask 的WSCGI)

app.config['DEBUG'] = True 开启调试模式

接着我们就可以使用manage.py来管理代码的运行了

首先查看下manage.py的一些选项:

Flask实例教程二_flask_02

开始运行:

Flask实例教程二_python_03

-h指定监听的地址,-p指定监听的端口

这个部分到此结束!!!!