初始化的flask项目结构(视图函数只有一个主页

本文档详细介绍了初始化的Flask项目结构,包括一、项目结构:helloFlask(Project)、App、views、forms、models、static、templates、migrations、venv等目录;二、各py文件配置:settings.py(程序配置)、extensions.py(第三方扩展配置)、main.py(首页视图函数)、views(视图函数程序包)和manage.py(启动程序)。基础框架搭建完毕,为后续添加第三方扩展做准备。
摘要由CSDN通过智能技术生成

一、当前的项目结构

  • helloFlask(Project)

    • App

      • views

        • __init__.py

        • main.py

      • forms

      • models

      • static

      • templates

      • __init__.py

      • email.py

      • extensions.py

      • settings.py

    • migrations

    • venv

    • manage.py

 

二、每个py文件的配置

1、App/settings.py 程序的配置

import os
BASE_PATH = os.path.abspath(os.path.dirname(__file__))
​
class Config(object):
    SECRET_KEY = 'secret_key'
    SQLALCHEMY_TRACK_MODIFICATION = True    # SQLAlchemy 将会追踪对象的修改并且发送信号
    #SQLALCHEMY_COMMIT_ON_TEARDOWN = False
​
# 开发环境
class DevelopmentConfig(Config):
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:passwd@127.0.0.1:3306/dev_blog'
    #SQLALCHEMY_DATABASE_URI = 'sqlite:///+os.path.join(BASE_PATH,'dev_blog.sqlite')
    DEBUG = True
​
#测试环境
class TestingConfig(Config):
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:passwd@127.0.0.1:3306/test_blog'
    DEBUG = False
​
#生产环境
class ProductionConfig(Config):
    SQLALCHEMY_DATABASES_URI = 'mysql+pymysql://root:passwd@127.0.0.1:3306/blog'
    DEBUG = False
​
#配置的字典
configDict = {
    'default':DevelopmentConfig,
    'development':DevelopmentConfig,
    'teseing':TestingConfig,
    'production':ProductionConfig
​

2、App/extensions.py 第三方扩展库配置

def config_extension(app):
    pass

3、App/views/main.py 首页视图函数

from flask import Blueprint
​
main = Blueprint('main',__name__)
​
@main.route('/')
def index():
    return 'index'

4、App/views/__init__.py 视图函数程序包构造文件

from .main import main # 首页蓝本
​
# 配置蓝本列表
blueprint_config = [
    (main,''),
]
​
# 注册蓝本
def blueprint_register(app):
    for blue,prefix in blueprint_config:
        app.register_blueprint(blue,url_prefix=prefix)

5、App/__ini__.py 程序的构造文件

from flask import Flask
from .settings import configDict
from .extensions import config_extension
from .views import blueprint_register
​
def create_app(configName):
    app = Flask(__name__)
    app.config.from_object(configDict[configName]) # 初始化Config类的配置环境
    config_extension(app) # 第三方扩展库初始化app
    blueprint_register(app) # 注册蓝本
​
    return app

6、manage.py 启动程序

from flask_script import Manager
from App import create_app #导入app
​
app = create_app('default') #加载配置,默认开发环境
manager = Manager(app)
​
if __name__ == '__main__':
    manager.run()

 

最基本的框架已经搭好了

 

顺便记录下以后会用到的第三方扩展库

flask-moment
​
flask-wtf
​
flask-uploads
​
flask-sqlalchemy
​
flask-script
​
flask-bootstrap
​
Flask-mail
​
flask-migrate
​
flask-cache
​
flask-login
​
pymysql
​
redis
​
pillow
​

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值