当前位置: 首页 > news >正文

买标准的网站建设花园之家wordpress

买标准的网站建设,花园之家wordpress,网站排名和什么有关,无锡网站程序之前做了一些LLM的demo#xff0c;接口用flask写的#xff0c;但是涉及到后端的一些业务就感觉逻辑写的很乱#xff0c;代码变成屎山#xff0c;于是借助官方文档和GPT迅速补了一些知识#xff0c;总结一下一个很小的模板 于是决定边学边重构之前的代码… 文章目录 代码结… 之前做了一些LLM的demo接口用flask写的但是涉及到后端的一些业务就感觉逻辑写的很乱代码变成屎山于是借助官方文档和GPT迅速补了一些知识总结一下一个很小的模板 于是决定边学边重构之前的代码… 文章目录 代码结构补基础知识一些总结session1. Web会话:2. 数据库会话: 代码结构 用我上一篇blog写的方法来打印下项目目录|---项目名|---.env|---app|---models|---user.py|---__init__.py|---routes|---auth_routes.py|---__init__.py|---services|---auth_services.py|---__init__.py|---utils|---__init__.py|---config.py|---run.py|---README.md.env: 用于存储配置 app: 主应用文件夹。 models: 存放数据模型。 routes: 定义应用路由。 services: 实现业务逻辑的服务层。 config.py: 加载和存储配置信息。 run.py: 应用的入口点。 run.py from app import app from app.routes import register_routes from flask_cors import CORSCORS(app)register_routes(app)if __name__ __main__:app.run(debugTrue, port9700) config.py 就是用load_dotenv从.env文件中读取变量然后后面别的文件好引入 app\__init__.py from flask import Flask # 导入 Flask 模块 from flask_sqlalchemy import SQLAlchemy # 导入 SQLAlchemy 模块 from config import DB_CONFIG,SECRET_KEY # 导入数据库配置 from flask_login import LoginManager # 导入登录管理器app Flask(__name__) # 创建 Flask 应用对象 app.config[SECRET_KEY] SECRET_KEY app.config[SQLALCHEMY_DATABASE_URI] fmysqlmysqlconnector://{DB_CONFIG[mysql_user]}:{DB_CONFIG[mysql_password]}{DB_CONFIG[mysql_host]}/{DB_CONFIG[mysql_database]} # 配置数据库连接使用 MySQL 数据库连接信息从配置文件中获取db SQLAlchemy(app) # 创建 SQLAlchemy 对象它是一个全局变量可以在其他文件中使用login_manager LoginManager() # 创建登录管理器对象 login_manager.init_app(app) # 初始化登录管理器将它绑定到 Flask 应用对象上 login_manager.login_view auth.login_route # 设置登录页面的路由app\models\user.py # models/user.py from flask_login import UserMixin # 导入 UserMixin 类, 用于实现用户认证 from app import dbclass User(db.Model, UserMixin):__tablename__ usersid db.Column(db.Integer, primary_keyTrue, autoincrementTrue)username db.Column(db.String(50), uniqueTrue, nullableFalse)password db.Column(db.String(255), nullableFalse)def __repr__(self):return fUser id{self.id}, username{self.username} app\routes\__init__.py from .auth_routes import *def register_routes(app):# 注册认证相关的路由app.register_blueprint(auth_routes.auth_blueprint, url_prefix/auth) app\routes\auth_routes.py from flask import Blueprint, request, jsonify from app.services.auth_services import login, register, get_files, delete_file auth_blueprint Blueprint(auth, __name__)auth_blueprint.route(/Login, methods[POST]) def login_route():处理用户登录请求。return login(request.json.get(username), request.json.get(password))auth_blueprint.route(/Register, methods[POST]) def register_route():处理用户注册请求。return register(request.json.get(username), request.json.get(password))app\services\auth_services.py from werkzeug.security import generate_password_hash, check_password_hash from flask_login import current_user, login_user from flask import jsonify from app import db # 导入数据库实例 from app.models.user import Userdef login(username, password):user User.query.filter_by(usernameusername).first()if user and check_password_hash(user.password, password):login_user(user)return Trueelse:return Falsedef register(username, password):user User.query.filter_by(usernameusername).first()if user:return False # 已存在的用户名hashed_password generate_password_hash(password)new_user User(usernameusername, passwordhashed_password)db.session.add(new_user)db.session.commit()return True补基础知识 SQLAlchemy: 为 Flask 提供的一个 ORMObject Relational Mapping工具可以使你以 OOP 的方式操作数据库。 Flask-Login: 一个为 Flask 提供的用户会话管理工具。 Werkzeug: Flask 使用的 WSGI 工具集用于密码哈希和验证等功能。 Blueprint: 在 Flask 中蓝图Blueprint是一个可组织和重用的应用或者应用子模块。 . 项目结构规范: 使用具有明确名称的文件夹来分隔不同的功能模块如models、routes和services。在每个文件夹内部通过 __init__.py 来引入需要的模块或功能使其结构清晰。单独的配置文件 (config.py) 和环境变量文件 (.env) 使得配置集中和易于管理。 路由规范: 使用蓝图来组织路由使其模块化并易于维护。路由的命名应反映其功能如 login_route、register_route。 服务层规范: 把业务逻辑和操作放在 services 文件夹中保持路由层的纯净。每个函数应该有清晰的职责如 login 和 register。 . 模型规范: 在 models 文件夹中定义数据模型。使用 SQLAlchemy 提供的功能来定义和操作数据模型。 安全规范: 使用 werkzeug.security 提供的函数来进行密码哈希避免明文密码存储。使用 Flask-Login 来管理用户会话。 一些总结 真的难蚌重构代码的时候引入了blueprint之后我的登陆和注册接口前面多了个 /auth路径然后和之前的前端代码对接的时候控制台一直显示跨域不成功我以为是CORS的问题然后调了一早上一中午…结果用apifox测试的时候我把接口路径写对了写了auth接口测试成功我才反应过来… session 之前services那里用的代码是 然后gpt建议我改成session seesion 这个概念确实很多地方都碰到了但之前没有仔细去了解 以下是GPT的回答 web的session和数据库的session示例代码如下 当然可以让我们通过Python代码示例来详细了解上述的“会话”概念。 1. Web会话: 用Flask内置的session对象来处理Web会话 from flask import Flask, session, redirect, url_for, requestapp Flask(__name__) app.secret_key supersecretkey # 用于加密sessionapp.route(/) def index():if username in session:return Logged in as session[username]return You are not logged inapp.route(/login, methods[POST]) def login():session[username] request.form[username]return redirect(url_for(index))app.route(/logout) def logout():session.pop(username, None)return redirect(url_for(index))if __name__ __main__:app.run()当用户登录时我们在会话中存储他们的用户名然后可以在应用的其他部分检索该信息。 2. 数据库会话: 用SQLAlchemy库在Python中与数据库交互 from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmakerBase declarative_base() engine create_engine(sqlite:///:memory:) # 创建一个内存数据库class User(Base):__tablename__ usersid Column(Integer, primary_keyTrue)name Column(String)Base.metadata.create_all(engine)Session sessionmaker(bindengine) # 创建会话类# 创建一个数据库会话实例 db_session Session()# 添加新用户 new_user User(nameJohn Doe) db_session.add(new_user) db_session.commit()# 查询用户 user db_session.query(User).filter_by(nameJohn Doe).first() print(user.name)在这里db_session 是与数据库的交互会话可以通过它进行查询、添加、更新或删除操作。
http://www.w-s-a.com/news/730241/

相关文章:

  • 国内免费视频素材无水印素材网站国家最新消息
  • 襄阳seo站内优化学做网站论坛教程
  • 文明网站建设情况报告wordpress伪静态配置
  • 牙科网站模板个人微信网站建设
  • 厦门公司注册网站dw做简单小说网站
  • 网站建好以后每年都续费么wordpress 仿聚划算
  • 单位网站建设收费标准网上开店铺需要多少钱
  • 灯饰网站需要这么做申请域名的流程
  • 软件下载网站怎么赚钱wordpress减少数据库查询
  • 什么兼职网站可以做视频剪辑常见的推广平台有哪些
  • 网站开发是用html还是jsp设迹官网
  • 查公司信息的网站怎么学wordpress
  • 白银做网站长春一般建一个网站需要多少钱
  • 帮人做钓鱼网站的人网络推广培训职业学校
  • 淘宝客有必须做网站吗网站开发的形式有( )
  • 网站建设:上海珍岛网页版qq空间登录
  • 网站服务器ipteahouse wordpress主题
  • 深州市住房保障和城乡建设局网站做网站公司叫什么
  • 织梦网站转跳手机站注册公司代理记账费用
  • wordpress建站Pdf亚马逊aws在线观看
  • 做网站的外包公司有哪些WordPress调用json数据
  • 做网站网站怎么赚钱网站的建设及维护报告
  • 可以做效果图的网站东莞网站优化什么方法
  • 网站和软件的区别怎么做招生网站
  • 雄安免费网站建设电话如何做网站推广 求指点
  • 十大免费cad网站入口软件北京做网站建设价格
  • 建设一个公司网站要具备什么网页制作的专业
  • 东莞seo建站排名全包网站
  • 网站建设的基本步骤有哪些软件商店下载官方
  • 网站建设开发报告论文hao123上网从这里开始官方