安装flask
在虚拟环境中安装flask
pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple
准备好MVT,并理解什么是MVT
models模块包(M)、views视图包(V)、templates模版包(T)
学会运用git上传到git库中
(1)创建好一个项目
(2)创建一个git仓库
git init
(3)添加忽略文件
touch .gitignore
vim .gitignore
在这个文件中添加
.idea
.idea/*
*.pyc
(4)查看文件夹
ls -a
(5)可以查看一下刚刚我们储存了哪些文件不需要git管理
cat .gitignore
(6)我们可以查看一下文件状态
git status -s
(7)在码云上创建一个仓库
(8)关联git仓库与gitee.com上的仓库进行关联
复制到终端中进行关联
查看关联状态
终端输入:git remote -v 查看详细信息,在一个名字后面列出其远程url
(9)开始把代码上传到远程库上
1、git add .(上传到包)ps(选择文件名则默认所有包上传)
2、git commit -m “备注:”
3、gir push 上传
如果一个新的本地仓库,且刚刚添加了远程仓库,当git push时候会跳出来一个提示
复制 git push --set-upstream origin master 进行校验
此时代码也已经上传成功!
创建文件
创建一个main.py文件(用来运行整个框架的主体)
创建一个配置文件(用来放入使用的数据信息以及其他信息)
编写配置文件
在config配置文件
在views视图包(V)下配置蓝图信息
在views下的__init__
配置蓝图信息
#配置蓝图
from flask import Blueprint
index_blu = Blueprint("index", __name__)
在models包创建数据配置
在models中__init__
下配置数据库信息
#配置数据库信息
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
创建主函数
创建一个main.py程序的主入口
配置flask基本信息
from flask import Flask
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager
from views import index_blu
from models import db
# 创建app
app = Flask(__name__)
# 注册蓝图
app.register_blueprint(index_blu)
# 对app进行配置
app.config.from_pyfile("config.ini")
# 对app进行初始化
db.init_app(app)
# 添加数据库迁移等工具
# 创建应该的管理对象,应用的启动交给了flask_script
manager = Manager(app)
# 生成migrate对象 用来数据库迁移
migrate = Migrate(app, db)
# 添加db命令
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
# app.run(port=8899)
manager.run()
在views视图包(V)下创建一个视图文件
在views下创建一个index,py
from flask import render_template
from . import index_blu
@index_blu.route("/")
def index():
return render_template("profile.html")
为什么要要创建这个呢??
答:拿index.py来说,这个相当于处理index.html页面的一个函数,把客服端请求的东西在服务器中处理,在返回给客户,一个页面一个处理文件
在models下创建一个对象信息
在models下创建一个User.py
from . import db
class User(db.Model):
# 对应MySQL中数据表的名字
__tablename__ = 'user'
# 创建字段
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.String(50), nullable=False)
user_name = db.Column(db.String(50), nullable=False)
head_img = db.Column(db.String(200))
short_description = db.Column(db.String(300))
为什么要创建?
答:models底下是创建配置数据库对象信息的,后面使用数据库迁移来在数据库中创建字段
一个对象一个文件,以上是举例创建一个用户的对象,也可以创建很多
在templates里放入html文件
测试
需要用命令
python3 main.py runserver -p 8899
结束测试
control+c 结束
开始迁移数据库
前面准备的东西已经准备好了,接下来开始使用flask里面的SQLAchemy来进行迁移
在flask虚拟环境中安装flask专属的数据库迁移工具
pip install flask-migrate -i https://pypi.tuna.tsinghua.edu.cn/simple
在flask虚拟环境中安装flask里面的脚本信息
pip install flask-script -i https://pypi.tuna.tsinghua.edu.cn/simple
迁移第一步,初始化相关准备(只做一次)
在flask虚拟环境中运行
python3 main.py db init
在数据库中创建好数据库
create database 数据库名 charset=utf8;
根据模型类(models下的User类)生成数据库迁移文件
python3 main.py db migrate -m ‘添加User模型类’
执行迁移文件,真正修改数据库
python3 main.py db upgrade
测试数据
在数据库中先展示插入一条数据以便测试需要
insert into 字段 values 赋值;
修改index.py文件
from flask import render_template
#导入models下__init__下的SQLAlchemy
from models import db
#导入models下的对象类
from models.user import User
from . import index_blu
@index_blu.route("/")
def index():
user = db.session.query(User).first
return render_template("profile.html", user=user)
修该原html文件