Python_Flask04(牛马问答平台01)

项目名称:牛马问答平台

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

                  2. 用来学习交流。

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

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

目前的目录结构

 blueprints文件中Auth.py举例

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

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

# 本地基础信息的主机名
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

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

db = SQLAlchemy()

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)
    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)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/933534.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【时时三省】(C语言基础)结构体内存对齐练习题

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 练习一 这个输出结果是8 练习二 这个输出结果是16 练习三 这个输出结果是32 上面的输出结果都是根据结构体对齐规则来计算的

在ARM Linux应用层下使用SPI驱动WS2812

文章目录 1、前言2、结果展示3、接线4、SPI驱动WS2812原理4.1、0码要发送的字节4.2、1码要发送的字节4.3、SPI时钟频率 5、点亮RGB5.1、亮绿灯5.2、亮红灯5.3、亮蓝灯5.4、完整程序 6、RGB呼吸灯7、总结 1、前言 事情是这样的,前段时间,写了一个基于RK3…

unity3d—demo(2d人物左右移动发射子弹)

目录 人物代码示例: 子弹代码示例: 总结上面代码: 注意点: 人物代码示例: using System.Collections; using System.Collections.Generic; using UnityEngine;public class PlayerTiao : MonoBehaviour {public f…

Python subprocess.run 使用注意事项,避免出现list index out of range

在执行iOS UI 自动化专项测试的时候,在运行第一遍的时候遇到了这样的错误: 2024-12-04 20:22:27 ERROR conftest pytest_runtest_makereport 106 Test test_open_stream.py::TestOpenStream::test_xxx_open_stream[iPhoneX-xxx-1-250] failed with err…

怎么样能使Ubuntu的文件浏览器显示当前目录的路径,而不是只显示一个文件名?

默认情况下Ubuntu的文件浏览器是只显示当前目录的目录名的,这很不便我们查看路径或直接利用路径进行定位,那么怎么样能使Ubuntu的文件浏览器显示当前目录的路径呢? 两种方法: 第1种-临时方法 按下快捷键 Ctrl L,导航…

自制shell命令行解释器,深入理解Linux系统命令行实现原理

个人主页:敲上瘾-CSDN博客 个人专栏:Linux学习、游戏、数据结构、c语言基础、c学习、算法 目录 ​编辑 1.打印命令提示符 ​编辑 2.获取用户输入指令 3.重定向分析 4.命令行参数表与环境变量表 5.命令解析 6.命令执行 6.1.创建子进程 6.2.文件…

LangChain:大模型AI应用开发的强大引擎

文章目录 LangChain的核心功能LangChain的典型使用场景LangChain的未来展望《LangChain大模型AI应用开发实践》编辑推荐内容简介作者简介目录 在人工智能领域,大型语言模型(LLMs)的应用开发正逐渐成为技术前沿的热门话题。随着技术的不断进步…

【MFC】vs2019中使用sqlite3完成学生管理系统

目录 效果图list Contral 控件的简单使用使用sqlite3 效果图 使用sqlite3完成简单的数据库操作。 list Contral 控件的简单使用 本章只介绍基本应用 添加表头:语法: int InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat LVCFMT_LEFT…

杨振宁大学物理视频中黄色的字,c#写程序去掉

先看一下效果:(还有改进的余地) 我的方法是笨方法,也比较刻板。 1,首先想到,把屏幕打印下来。c#提供了这样一个函数: Bitmap bmp new Bitmap(640, 480, PixelFormat.Format32bppArgb); // 创…

Android 逆向/反编译/Hook修改应用行为 基础实现

前言:本文通过一个简单的情景案例实现安卓逆向的基本操作 一、情景描述 本文通过一个简单的情景案例来实现安卓逆向的基本操作。在这个案例中所使用的项目程序是我自己的Demo程序,不会造成任何的财产侵害,本文仅作为日常记录及案例分享。实…

OSCP - Proving Grounds - Zino

主要知识点 SMB知识python脚本提权 具体步骤 执行nmap Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-10 01:24 UTC Nmap scan report for 192.168.52.64 Host is up (0.00077s latency). Not shown: 65529 filtered tcp ports (no-response) PORT STATE SER…

VLA模型

目录 引言1. 机器人大模型面临的挑战2. 目前的数据集2.1 RT-12.2 Open X-Embedding2.3 DROID 3. 目前的VLA模型3.1 Goat3.2 RT-13.2.1 总体架构3.2.2 效果 3.3 RT-23.3.1 总体架构3.3.2 效果 3.4 RT-X3.4.1 模型效果1). RT-1-X2). RT-2-X 3.5 RT-H3.5.1 总体架构3.5.2 效果 3.6…

aws(学习笔记第十六课) 使用负载均衡器(ELB)解耦webserver以及输出ELB的日志到S3

aws(学习笔记第十六课) 使用负载均衡器(ELB)以及输出ELB的日志到S3 学习内容: 使用负载均衡器(ELB)解耦web server输出ELB的日志到S3 1. 使用负载均衡器(ELB) 全体架构 使用ELB(Elastic Load Balancer)能够解耦外部internet访问和web server之间的耦合&#xff0c…

如何使用Java编写Jmeter函数

Jmeter 自带有各种功能丰富的函数,可以帮助我们进行测试,但有时候提供的这些函数并不能满足我们的要求,这时候就需要我们自己来编写一个自定义的函数了。例如我们在测试时,有时候需要填入当前的时间,虽然我们可以使用p…

实战指南:如何通过WBS提高项目估算准确性?

通过WBS将复杂任务细分为更易管理的任务,这有助于明确每项工作范围、所需资源及时间,从而减少估算误差,制定更现实的预算和时间表,提升团队协作效率。如果没有通过WBS将任务细化,项目范围可能变得模糊不清,…

ECharts实战教程:如何生成动态水波纹效果

导语:在数据可视化领域,ECharts是一款非常强大的图表库。今天,我们将带领大家学习如何使用ECharts生成动态水波纹效果,让我们的图表更加生动有趣。 一、准备工作 首先,我们需要准备一些基础数据,如下所示&…

详解:HTTP/HTTPS协议

HTTP协议 一.HTTP是什么 HTTP,全称超文本传输协议,是一种用于分布式、协作式、超媒体信息系统的应用层协议。HTTP往往是基于传输层TCP协议实现的,采用的一问一答的模式,即发一个请求,返回一个响应。 Q:什…

(0基础保姆教程)-JavaEE开课啦!--13课程(Interception拦截器)-完结

一、Interception(拦截器)是什么? 拦截器(Interceptor)是一种用于在请求到达目标方法之前或之后执行特定逻辑的机制。它是基于Java反射机制,属于面向切面编程(AOP)的一种应用。拦截器可以用于多种应用场景&…

vue 封装全局过滤器

1.找到utils下创建fifilter.js 一些常用的过滤方法 export const filters {//url解码urlCode: value > {if (!value) return let v decodeURIComponent(value)let bigIndex v.lastIndexOf(/)let endIndex v.lastIndexOf(.)let url v.substring(bigIndex 1, endIndex)…

Flask返回中文Unicode编码(乱码)解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…