本文摘自php中文网,作者Guanhui,侵删。
序言
首先,我们使用 virtualenv 隔离我的项目。例如,我们要开发一个轮询应用(a poll app)。
1 2 3 4 | mkdir poll_app
cd poll_app
virtualenv .
source bin/activate
|
常用 Python 库
我正在开发需要数据库的应用程序。因此,我总是使用 flask_script 和 flask_migrate 库。我不喜欢 Flask 的 CLI 工具。
Flask-Script: https://flask-script.readthedocs.io/en/latest/
Flask-Migrate: https://flask-migrate.readthedocs.io/en/latest/
和 Django 类似地,我在根文件夹中创建了一个名为 manage.py 的 Python 文件,例如:
1 2 3 4 5 6 7 8 9 10 | from MYAPP.data.models import db
from MYAPP import app
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
db.init_app(app)
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command( 'db' , MigrateCommand)
if __name__ == "__main__" :
manager.run()
|
然后,我们可以对数据可进行如下操作:
1 2 3 4 | python manage.py db init # --> init migrations
python manage.py db migrate # --> migrate models
python manage.py db upgrade # --> apply changes
python manage.py db --help # --> :)
|
主要应用文件
创建新项目时,我在根文件夹中创建了一个文件 app.py,然后它会像这样更改。
1 2 3 4 5 6 7 8 | from MYAPP import app
# To do : This place will change later
config = {
"development" : "config.Development"
}
if __name__ == "__main__" :
app.config.from_object(config[ "development" ])
app.run()
|
配置文件
我还在根文件夹中创建了一个名为 config.py 的配置文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | class BaseConfig(object):
"" " Base config class. This fields will use by production and development server " ""
ORIGINS = [ "*" ] # for api calls
SECRET_KEY = 'YOUR SECRET KEY'
class Development(BaseConfig):
"" " Development config. We use Debug mode " ""
PORT = 5000
DEBUG = True
TESTING = False
ENV = 'dev'
# Currently we only have development config.
# If you have production, you will need to pass it to here.
config = {
'development' : 'config.Development'
}
def configure_app(app):
"" "
App configuration will be here.
Parameters
----------
app : Flask
app instance
"" "
app.config.from_object(config[ 'development' ])
|
文件夹结构
阅读剩余部分
相关阅读 >>
Python中有map方法吗
Python中argparse库的基本使用(示例)
Python中浮点数的原理以及运算详解
Python是免费软件吗
matplotlib主要的作用是什么?
Python最长回文串算法
会java再去学Python容易吗
Python脚本文件的扩展名是什么
如何查找Python的安装路径
Python使用matplotlib实现的图像读取、切割裁剪功能示例
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » 了解 Flask 项目结构