flask(1)

网站结构

一般来说,网站分为前台(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 "" % self.name

后面的那个返回类型,是指比方说查询id,那么返回分是name

学习资料:https://www.bilibili.com/video/av48081386?p=5

你可能感兴趣的:(flask(1))