Python_Flask04(牛马问答平台01)

项目名称:牛马问答平台

项目简介:1.主要用来给社会上的牛马们探讨老板的恶心之处。

  1. 用来学习交流。

技术手段:Python3.x + Flask + render_template + pymysql + flask_sqlalchemy........

注意该博客为迭代项目,于最后一期展示完整的代码和Git仓库,还要所需要的依赖

目前的目录结构

blueprints文件中Auth.py举例

python 复制代码
from flask import Blueprint
from flask import render_template
# 需要传两个参数
bp = Blueprint("auth",__name__,url_prefix='/user')

# 登录接口
@bp.route('/login')
def userLogin():
    return render_template('login.html')

@bp.route('/register')
def userRegister():
    pass

bp=Blueprint("auth",name,url_prefix="/user")

bp : 是命名

Blueprint : 是从flask引入的方法

auth : 是这个模块的名字

name : 固定写法

url_prefix="/user" : 如果需要访问/login需要加上前缀/user

App.py

python 复制代码
from flask import Flask
from exts import db
from blueprints.auth import bp as bp_user
from blueprints.qa import bp as bp_qa
from flask_migrate import Migrate
import config

app = Flask(__name__)
# 绑定配置文件,这样的方式会将所有的congig里面的配置进行加载出来
app.config.from_object(config)

# 这个方法是可以先创建app,然后再绑定
db.init_app(app)
migrate = Migrate(app,db)

app.register_blueprint(bp_user)
app.register_blueprint(bp_qa)

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

Config.py

python 复制代码
# 本地基础信息的主机名
HOSTNAME = "127.0.0.1"
# mysql端口号
PORT = "3306"
# 账号
USERNAME = "root"
# 密码
PASSWORD = "admin123"
# 数据库名
DATABASE = "flasklearn"

DB_URI = "mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8".format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)

SQLALCHEMY_DATABASE_URI=DB_UR

Exts.py

python 复制代码
# 这个文件存在的意义就是为了解决循环引用的问题
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

Models.py

python 复制代码
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)
    auth = db.Column(db.String(20),nullable=False,default="用户")
    email = db.Column(db.String(100), nullable=False,unique=True)
    join_time = db.Column(db.DateTime,default=datetime.now)

项目启动之余,接下里会在这个基础上继续更新~

相关推荐
山烛8 分钟前
KNN 算法中的各种距离:从原理到应用
人工智能·python·算法·机器学习·knn·k近邻算法·距离公式
guozhetao21 分钟前
【ST表、倍增】P7167 [eJOI 2020] Fountain (Day1)
java·c++·python·算法·leetcode·深度优先·图论
前端小巷子22 分钟前
Webpack 5模块联邦
前端·javascript·面试
玲小珑25 分钟前
Next.js 教程系列(十九)图像优化:next/image 与高级技巧
前端·next.js
晓得迷路了25 分钟前
栗子前端技术周刊第 91 期 - 新版 React Compiler 文档、2025 HTML 状态调查、Bun v1.2.19...
前端·javascript·react.js
墨染点香27 分钟前
第七章 Pytorch构建模型详解【构建CIFAR10模型结构】
人工智能·pytorch·python
江城开朗的豌豆32 分钟前
Vue和React中的key:为什么列表渲染必须加这玩意儿?
前端·vue.js·面试
江城开朗的豌豆37 分钟前
前端路由傻傻分不清?route和router的区别,看完这篇别再搞混了!
前端·javascript·vue.js
pengzhuofan40 分钟前
Web开发系列-第0章 Web介绍
前端
枫叶丹41 小时前
【Qt开发】信号与槽(二)-> 信号和槽的使用
开发语言·qt