用Flask构建站点基本框架和技术点

本文介绍了使用Flask构建网站的基本框架,包括依赖包、目录结构、配置、数据库迁移、启动入口、数据模型和核心功能如URL参数、模板渲染、Session、Cookie等。详细阐述了Flask的灵活性和实用性,适合Python Web开发初学者参考。
摘要由CSDN通过智能技术生成

Flask作为Python在WEB建站的框架,比Djiango显得小巧灵活,使用也更加自由,笔者作为一个比较自由的使用者,偏好于Flask的适用,就此将其建站基本框架结构和其中部分技术点做简略描述。

IDE:PyCharm
数据库:MySQL

1. 需要依赖的包

  • Flask(Jinja, Werkzeug)
  • Flask-Migrate
  • Flask-MySQLdb
  • Flask-SQLAlchemy
  • Flask-Script

Script主要是用来管理命令行,SQLAlchemy是ORM,MySQLdb数据库mysql中间件驱动,Migrate是做数据迁移用的

2. 目录文件结构

+Project                 项目总目录
    +app                  应用程序目录
    +migrations        数据迁移目录
    +models             数据模型目录
    +static                WEB静态文件目录
    +templates        页面模板目录
    -config.py          配置文件
    -exts.py             避免循环引用,创建db的地方
    -manage.py       管理命令行(主要用于数据迁移)

    -run.py              WEB站点启动入口

  • app目录则是存放所有WEB站点应用程序的地方,可以根据具体应用需求分成不同的blueprint进行结构安排。
  • models目录是存放数据模型的,针对数据库表特别多,为了方便管理,数据模型可以单独存放到一个目录中,如果数据库表很少的项目,可以将数据模型放到根目录中或者app目录中。
  • static是存放WEB站点静态文件的目录如:css, js, images等。
  • templates是存放页面模板的目录,可以根据页面结构安排模板的子目录结构。
  • migrations目录是数据迁移自动生成的目录,可以不用管。
  • config.py是整个站点的配置信息,包含数据库连接,SECRET_KEY的设置等。
  • manage.py进行数据迁移管理,基本固定模式
  • run.py启动入口,模式也相对固定

3. config.py

import os
from datetime import timedelta

class Config(object):
    DEBUG = False
    TESTING = False
    #密钥
    SECRET_KEY = os.urandom(24)
    #Session时长(默认是31天)
    PERMANENT_SESSION_LIFETIME = timedelta(days=31)

#开发环境
class DevelopmentConfig(Config):
    DEBUG = True
    driver = 'mysql'
    user = 'root'
    pwd = 'root'
    host = 'localhost'
    port = '3306'
    dbname = 'db_demo1'
    SQLALCHEMY_DATABASE_URI = '{}://{}:{}@{}:{}/{}'.format(driver, user, pwd, host, port, dbname)
    SQLALCHEMY_TRACK_MODIFICATIONS = True

class ProductionConfig(Config):
    DEBUG = False
    driver = 'mysql'
    user = 'root'
    pwd = 'root'
    host = 'localhost'
    port = '3306'
    dbname = 'websystem'
    SQLALCHEMY_DATABASE_URI = '{}://{}:{}@{}:{}/{}'.format(driver, user, pwd, host, port, dbname)
    SQLALCHEMY_TRACK_MODIFICATIONS = False

config = {
    'development': DevelopmentConfig,
    'production': ProductionConfig
}

采用最简单的设置&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值