23|数据库应用(三):项目数据库配置实战
项目层级框架
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了在Flask项目中进行数据库配置的实际操作步骤。首先,文章从项目层级框架出发,介绍了Flask项目通常分为前端展示层、后端业务逻辑层和数据库层。然后,详细讲解了数据库的配置,包括数据库核心配置项和通过SQLAlchemy实现ORM应用。接着,文章介绍了建立数据库表的步骤,包括创建模型基类和用户信息表,并展示了生成数据库表的最后一个环节。通过实际代码示例,读者可以学习如何在Flask项目中应用数据库,包括管理命令、数据库迁移、创建数据库表等具体步骤和注意事项。整体而言,本文是一篇非常实用的技术文章,对于想要学习如何在Flask项目中应用数据库的读者来说具有很高的参考价值。
《Python 实战 · 从 0 到 1 搭建直播视频平台》,新⼈⾸单¥59
全部留言(16)
- 最新
- 精选
- Forest在项目开发中,生产环境的数据库肯定是独立的,开发和测试可以使用同一个数据库;在开发和测试过程中,会添加很多测试数据,对于生产环境而言,这部分是脏数据且没有任何实际意义
作者回复: 总结的非常准确,感谢分享,为你点赞!
2023-06-20归属地:四川1 - lightwolf老师都正常执行了, 但是执行完成db.create_all()之后, 数据库中为什么没有表
作者回复: 这个需要检查一下,确保你使用的数据库引擎支持 Flask-SQLAlchemy。例如,SQLite 数据库在某些情况下可能不会立即显示新创建的表。
2024-01-17归属地:安徽2 - Geek_d26f93raise RuntimeError( RuntimeError: Either 'SQLALCHEMY_DATABASE_URI' or 'SQLALCHEMY_BINDS' must be set.这个错误怎么办
作者回复: 你的 Flask-SQLAlchemy 配置中,必须设置 SQLALCHEMY_DATABASE_URI 或 SQLALCHEMY_BINDS 中的一个。如果你想使用 SQLALCHEMY_BINDS,你可以像这样设置: from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_BINDS'] = {'other': 'sqlite:////tmp/other.db'} # 请替换为你的数据库 URI db = SQLAlchemy(app) other 是数据库的别名,你可以通过这个别名来访问这个数据库。
2024-01-14归属地:内蒙古 - Geek_d26f93Traceback (most recent call last): File "D:\environment\Python\Miniconda3\envs\venv2\lib\site-packages\flask\cli.py", line 219, in locate_app __import__(module_name) File "D:\environment\Python\pythonProject\First_Flask\app.py", line 2, in <module> from flask_script import Manager File "D:\environment\Python\Miniconda3\envs\venv2\lib\site-packages\flask_script\__init__.py", line 15, in <module> from flask._compat import text_type ModuleNotFoundError: No module named 'flask._compat' 请问我代码遗漏了哪部分会出现这个错误
作者回复: 从你给出的错误信息来看,问题出现在你尝试从flask_script模块导入Manager时。错误信息显示,Python无法找到名为flask._compat的模块。 这个问题可能是由于你使用的Flask版本与Flask-Script版本不兼容导致的。flask._compat是在Flask 1.0之后被移除的,而Flask-Script 2.0及更高版本需要Flask 1.0或更高版本。
2024-01-13归属地:内蒙古 - Aegean Sea(venv2) PS D:\environment\Python\pythonProject\First_Flask> flask db init Error: While importing 'app', an ImportError was raised: Traceback (most recent call last): File "D:\environment\Python\Miniconda3\envs\venv2\lib\site-packages\flask\cli.py", line 219, in locate_app __import__(module_name) File "D:\environment\Python\pythonProject\First_Flask\app.py", line 2, in <module> from flask_script import Manager File "D:\environment\Python\Miniconda3\envs\venv2\lib\site-packages\flask_script\__init__.py", line 15, in <module> from flask._compat import text_type ModuleNotFoundError: No module named 'flask._compat' Usage: flask [OPTIONS] COMMAND [ARGS]... Try 'flask --help' for help. Error: No such command 'db'. 老师求解,试了很多方法都行不通
作者回复: 这个是你缺失db,你的代码有遗漏,找不到就会报错: 安装成功之后我们还需要完成实例化,实例化之后才能将一些全局配置应用到具体的数据库操作中。: from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) db = SQLAlchemy(app) 从这一部分往下顺。
2023-10-28归属地:广东 - Aegean SeaModuleNotFoundError: No module named 'flask._compat' Usage: flask [OPTIONS] COMMAND [ARGS]... Try 'flask --help' for help. Error: No such command 'db'. 老师求解。试了很多方法行不通
作者回复: 你的代码写的不全,db找不到,你会发现我在地下写的代码中有: from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) db = SQLAlchemy(app)。 //这个需要有 你缺失这部分,需要补充上
2023-10-28归属地:广东 - Geek_00c9c4你好,项目中使用的每个包的版本是多少呀(能否发一下你用的版本)?执行flask db init ,报这个错误, Traceback (most recent call last): File "/Users/kevin/.pyenv/versions/3.12.0/bin/flask", line 5, in <module> from flask.cli import main File "/Users/kevin/.pyenv/versions/3.12.0/lib/python3.12/site-packages/flask/__init__.py", line 19, in <module> from jinja2 import Markup, escape ImportError: cannot import name 'Markup' from 'jinja2' (/Users/kevin/.pyenv/versions/3.12.0/lib/python3.12/site-packages/jinja2/__init__.py)
作者回复: 在课程介绍中的 框架版本中有详细的介绍。可直接参考。
2023-10-19归属地:上海 - Geek_5cb928在执行flask shell后面的db相关命令时报错,name 'db' is not defined 发现造成的原因是教程里面用到的pycharm会自动配置context,用vscode所以遇到了这个问题。 修复如下 在app.py (manager.py)下面定义context @app.shell_context_processor def make_shell_context(): return {'db': db} 供大家参考
作者回复: 感谢同学分享,为你点赞,后端开发过程中还是建议大家使用PyCharm更方便一些。
2023-08-29归属地:广东 - 蜡笔小新爱看书db.Column,输入.pycharm带不出来Column的提示,是什么原因?
作者回复: 对于代码提示设置问题,你确保 "SQLAlchemy" 库被正确识别并在代码提示列表中可用。如果它没有被列出,你可以点击 "+" 号添加它。如果 "SQLAlchemy" 已经在列表中,请确保它的版本与你的项目兼容。 你可以尝试一下,如果有问题可以继续追评。
2023-08-17归属地:广东2 - Geek_7cc417我想问一下老师,在本次项目中,我们数据库设计只有一个用户信息表就够了吗?我想学习一下数据库怎么设计的,来修改增加去做个毕业设计不知道能不能行
作者回复: 如果是毕业设计的话单点功能是不够的,如果只有用户纬度是不可以的,我们课程中的项目实现是完整的,不单单只有用户表一个模块。我之后会上传完整的代码你可以参考一下,整体实现起来功能还是非常多的,你的毕业设计应该不需要这么多功能,满足增删改查就行应该。有问题可以再回评。
2023-07-16归属地:广东