【python】Flask网页开发——论坛项目实战(1.导航条实现)-CSDN博客

425 阅读1分钟

导航条实现

项目导航

【python】Flask网页开发——论坛项目实战(完整代码)
【python】Flask网页开发——论坛项目实战(1.导航条实现)
【python】Flask网页开发——论坛项目实战(2.登录与注册)
【python】Flask网页开发——论坛项目实战(3.问答模块)

导航条实现

在这里插入图片描述

在这里插入图片描述

路由和视图函数

user.py

from flask import Blueprint

bp = Blueprint("user", __name__, url_prefix="/user")


@bp.route("/login")
def login():
    return "登录"

qa.py

from flask import Blueprint,render_template

bp = Blueprint("qa", __name__, url_prefix="/")


@bp.route("/")
def index():
    return render_template("index.html")

ORM模型

models.py

from exts import db
from datetime import datetime


class UserModel(db.Model):
    __tablename__ = "user"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(100), nullable=False)
    password = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(100), nullable=False, unique=True)
    join_time = db.Column(db.DateTime, default=datetime.now)

ORM模型迁移

1.初始化迁移环境:flask db init

2.生成迁移脚本:flask db migrate -m “备注信息”

3.执行迁移脚本:flask db upgrade

在这里插入图片描述

执行完后,项目中生成文件夹migrations
在这里插入图片描述

静态文件

static——>bootstrap——>bootstrap@4.6.min.css

Bootstrap中文文档:v4.bootcss.com/docs/gettin…

在这里插入图片描述

将此链接的内容全部复制,cdn.jsdelivr.net/npm/bootstr…,粘贴到bootstrap@4.6.min.css

app.py

from flask import Flask
import config
from exts import db
from models.models import UserModel
from flask_migrate import Migrate
from blueprints import qa_bp,user_bp

app = Flask(__name__)
app.config.from_object(config)

db.init_app(app)

app.register_blueprint(qa_bp)
app.register_blueprint(user_bp)
migrate = Migrate(app, db)

if __name__ == '__main__':
    app.run(debug=True)

config.py

# MySQL所在的主机名
HOSTNAME = "127.0.0.1"
# MySQL监听的端口号,默认3306
PORT = 3306
# 连接MySQL的用户名
USERNAME = "root"
# 连接MySQL的密码
PASSWORD = "root"
# MySQL上创建的数据库名称
DATABASE = "python_bbs"
DB_URL = f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4"
SQLALCHEMY_DATABASE_URI = DB_URL

exts.py

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()