Flask项目目录设计

本文详细介绍了如何在PyCharm中创建Flask项目,包括目录结构设置、视图模块formDis.py的配置、功能模块组织及requirements.txt文件的管理。重点讲解了蓝图的使用和注册,以及如何启动项目和管理依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

  Flask不同于Django,Django在创建程序时自动得到必要的目录文件,而Flask则只有一个空文件夹,所以关于Flask项目的目录我们需要自行配置。

Flask应用目录:

  首先,Flask 区分工程目录和项目目录,主要是为了更好地组织和管理项目的不同部分。

  • 工程目录通常包含一些通用的配置、工具脚本、环境设置等,有助于整体项目的构建、部署和维护。
  • 项目目录则专注于具体的应用逻辑,包括视图函数、模型、模板等与业务功能直接相关的代码。

  这样的划分有助于清晰地组织和管理项目的不同方面,使得开发和维护更加高效和有条理。但是Flask 框架没有强制要求工程目录和项目目录的区分。

  首先利用pycharm创建一个工程project,如下:flaskdemo2,在工程目录下创建项目:app,Flask应用目录结构,如下:

备注:还可以在项目文件夹下面再增加个目录(和视图函数模块文件夹同一层级),用来存放其它自定义函数、方法
在这里插入图片描述

举例如下:
在这里插入图片描述
文件示范:

1、项目视图formDis.py示例

from flask import Flask, render_template

#form = Blueprint('formDis', __name__)
form = Blueprint('formDis111', __name__, url_prefix="/news")

#实例化蓝图对象
#两个必要参数':
# 第一个参数:蓝图名字,自定义'
# 第二个参数:__name__'蓝图所在的模块或者包,一般为'__name__'变量;
# 第三个参数:url_prefix,非必填,,表示在该蓝图下,所有的url地址访问路径中都要加上xxx路径,即域名/xxx/路由


@form.route('/formplay')  #在蓝图对象上进行操作,路由,指定静态文件夹,注册模版过滤器
def index():
    # 往模板中传入的数据
    my_str = 'Hello Word'
    my_int = 10
    my_array = [3, 4, 2, 1, 7, 9]
    my_dict = {
        'name': 'xiaoming',
        'age': 18
    }
    return render_template('hello.html',
                           my_str=my_str,
                           my_int=my_int,
                           my_array=my_array,
                           my_dict=my_dict
                           )

2、功能模块文件夹app下的_init_.py文件示例

from flask import Flask

app = Flask(__name__)

from .modelViews001.user import us #引入视图中创建的蓝图对象   .表示当前文件所在目录层级
from .modelViews002.order import ord  #引入视图中创建的蓝图对象   .表示当前文件所在目录层级
from .modelViews002.formDis import form  #引入视图中创建的蓝图对象   .表示当前文件所在目录层级

app.register_blueprint(us)  #注册引入的蓝图实例
app.register_blueprint(ord)  #注册引入的蓝图实例
app.register_blueprint(form)  #注册引入的蓝图实例

3、项目启动文件manage.py示例

from app import app   #前面app指的是项目文件夹app,后面app指的是app文件夹下面的初始化文件__init__.py中创建的实例,实例名app

if __name__ == '__main__':
    app.run(host="0.0.0.0",port=5569) #若调试,可考虑开启debug模式,修改代码后服务自动重启,使修改生效,方便调试,生产环境
    #要关闭如:app.run(host='0.0.0.0',port=5000,debug=True)

4、模块文件requirements.txt 模块文件示例

alembic==0.9.6
blinker==1.4
certifi==2017.11.5
chardet==3.0.4
click==6.7
DBUtils==1.2
docopt==0.6.2
Flask==0.12.2
Flask-Migrate==2.1.1
Flask-Script==2.0.6
Flask-Session==0.3.1
Flask-SQLAlchemy==2.3.2
idna==2.6
itsdangerous==0.24
Jinja2==2.10
Mako==1.0.7
MarkupSafe==1.0
pipreqs==0.4.9
PyMySQL==0.8.0
python-dateutil==2.6.1
python-editor==1.0.3
PyTyrion==1.0.1
requests==2.18.4
six==1.11.0
SQLAlchemy==1.2.0
urllib3==1.22
Werkzeug==0.14.1
WTForms==2.1
xlrd==1.1.0
yarg==0.1.9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值