网站结构
一般来说,网站分为前台(home)和后台(admin)
这里以制作电影网站为例
一般来说,前台包括:
1.数据模型:models.py
2.表单处理:home/forms.py
3.模板目录:template/home
4.静态目录:static
后台包括:
1.数据模型:model.py
2.表单处理:admin/form.py
3.模板目录:template/admin
4.静态目录:static
前后台的模板和表单处理是相互独立的

这就是我们前后台项目的分级
其中static(静态目录)用于存放静态资源(层叠样式表,视频,JS脚本,插件等),模板目录用于存放HTML目录
蓝图
蓝图是一个运用中跨应用制作应用组件和支持通用模式
蓝图可将不同的功能模块化,优化项目结构,增强可读性,易于维护
步骤:
#1.定义蓝图(app/admin/_init_.py)
from flask omport Blueprint
admin = Blueprint("admin",_name_)
import views
#2注册蓝图(app/_init_.py)
from admin import admin as admin_blueprint
app.register_blueprint(admin_blueprint, url_prefix="/admin")
#3调用蓝图(app/admin/view.py)
from .import admin
@admin.route("/")
连接MYSQL
在admin/model.py中,提供与数据库的接口
#1.安装数据框连接依赖包
pip install flask-sqlalchemy
#2.定义mysql数据库连接
from flask_sqlalchemy import SQLAlchemy
from flask import Flask
app = Flask(_name_)
app.config['SQLALCHEMY_DATABASE_URl'] = "mysql://root:root@localhost/movie"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
定义会员数据模型
在admin/model.py中定义类型
class User(db.Model):
_tablename_ = "user"
id = db.Column(db.Integer,primary_key = True)
name = db.Column(db.String)
pwd = db.Column(db.String)
email = db.Column(db.String)
phone = db.Column(db.String)
info = db.Column(db.Text)
face = db.Column(db.String)
addtime = db.Column(db.DateTime,index = True,default = datetime.utcnow)
uuid = db.Column(db.String)
##定义返回类型
def _repr_(self):
return "<User %r>" % self.name
后面的那个返回类型,是指比方说查询id,那么返回分是name
网友评论