ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

阶段 1:创建 Django 项目 + 连接 MySQL

阶段 1:创建 Django 项目 + 连接 MySQL 阶段 1创建 Django 项目 连接 MySQL合辑Django 系统阶段开发手册 阶段1 / 18 定位搭建 Django Vue3 系统的项目骨架完成 MySQL 数据库的创建与连接配置 建议学时3–4 小时大家好我是小马不起床。阶段导语本阶段是整套 Django Vue3 系统从零开发的起点后续 17 个阶段RBAC 建表、权限判断、JWT 登录、业务接口、Vue3 对接均在本阶段建立的项目结构与数据库连接之上展开。阶段内容包括三部分统一项目名称与目录结构、安装并创建 Django 项目、在 MySQL 中创建数据库并将 Django 配置为连接该数据库。完成标志为python manage.py migrate成功建表、浏览器可见 Django 欢迎页面。学习目标完成本阶段后应能够说明rbac_project、backend、config三级目录各自的职责安装 Django 与 MySQL 驱动区分mysqlclient优先与pymysql备选的取舍在 MySQL 中创建字符集为 utf8mb4 的数据库rbac_db配置settings.py的DATABASES使 Django 连接 MySQL将语言设置为zh-hans、时区设置为Asia/Shanghai通过migrate验证数据库连接通过runserver确认项目可启动前置知识本阶段为合辑起点无手册内前置阶段仅依赖以下通用基础前置条目具体要求Python 基础可执行解释器命令、会使用 pip 安装第三方包MySQL 环境本机已安装 MySQL 服务可通过mysql -u root -p登录命令行操作能在终端中切换目录并执行命令目录项目结构与依赖安装创建 Django 项目创建 MySQL 数据库配置 Django 连接 MySQL修改语言和时区测试数据库连接与启动项目阶段小结常见问题与排查下一阶段衔接1. 项目结构与依赖安装1.1 项目名称与目录结构本合辑用于说明 Django Vue3 系统从零开发的整体步骤全程统一使用如下项目名rbac_project项目的整体目录结构为rbac_project/ └── backend/ ├── manage.py └── config/ ├── settings.py ├── urls.py ├── asgi.py └── wsgi.py三层的职责划分如下目录职责rbac_project总项目文件夹backendDjango 后端文件夹configDjango 的配置目录1.2 安装当前阶段需要的包pipinstalldjango mysqlclientWindows 环境下若mysqlclient安装失败可先改用pipinstallpymysql优先级上仍推荐先尝试mysqlclient。要点项目名、目录层级在全部 18 个阶段中保持不变config是配置目录而非 appsettings.py是后续多个阶段反复修改的文件驱动选择遵循先mysqlclient、失败再pymysql的顺序2. 创建 Django 项目创建完成后backend目录应呈现如下结构venv为虚拟环境virtual environment目录backend/ ├── manage.py ├── venv/ └── config/ ├── __init__.py ├── settings.py ├── urls.py ├── asgi.py └── wsgi.py要点manage.py是后续所有命令行操作的入口config/__init__.py使配置目录成为可导入的 Python 包asgi.py与wsgi.py分别对应异步与同步的部署入口3. 创建 MySQL 数据库登录 MySQLmysql-uroot-p创建数据库并确认CREATEDATABASErbac_dbCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;SHOWDATABASES;exit;rbac_db使用 utf8mb4 字符集与 utf8mb4_unicode_ci 排序规则为后续存储中文权限名称、用户姓名提供基础。要点数据库名统一为rbac_db与后续所有阶段的表所在库一致字符集必须为 utf8mb4排序规则为 utf8mb4_unicode_ciSHOW DATABASES;用于当场确认创建结果4. 配置 Django 连接 MySQL配置文件路径backend/config/settings.py找到原有的DATABASES配置将其改为DATABASES{default:{ENGINE:django.db.backends.mysql,NAME:rbac_db,USER:root,PASSWORD:你的MySQL密码,HOST:127.0.0.1,PORT:3306,OPTIONS:{charset:utf8mb4,},}}各配置项含义配置项值说明ENGINEdjango.db.backends.mysql数据库后端切换为 MySQLNAMErbac_db与第 3 章创建的库名一致USER / PASSWORDroot/ 实际密码登录凭据需替换为本机 MySQL 密码HOST / PORT127.0.0.1/3306本机 MySQL 默认地址与端口OPTIONS.charsetutf8mb4与数据库字符集保持一致要点PASSWORD为占位内容必须替换为实际的 MySQL 密码五项连接参数库名、用户、密码、主机、端口任一不匹配都会导致连接失败charset与数据库字符集保持一致避免中文写入异常5. 修改语言和时区文件仍为backend/config/settings.py找到默认配置LANGUAGE_CODEen-usTIME_ZONEUTC改为LANGUAGE_CODEzh-hansTIME_ZONEAsia/Shanghai要点zh-hans使 Django 后台与校验信息以简体中文显示Asia/Shanghai使时间记录与业务所在时区一致两项配置与数据库无关但影响后续 Admin 后台的使用体验6. 测试数据库连接与启动项目6.1 执行 migrate 验证连接python manage.py migrate该步骤的作用是让 Django 创建它自己默认需要的表。成功时输出类似Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying sessions.0001_initial... OK执行后MySQL 数据库rbac_db中会多出若干 Django 默认表。migrate 能跑通即代表 Django 与 MySQL 的连接配置生效。6.2 启动项目python manage.py runserver浏览器访问http://127.0.0.1:8000/看到 Django 欢迎页面即说明阶段 1 完成。要点migrate同时承担建默认表与验证数据库连接两个作用输出中的Applying ... OK是连接配置正确的判定依据runserver后可通过http://127.0.0.1:8000/做最终确认阶段小结环节核心产出项目结构定义统一使用rbac_project/backend/config三层结构依赖安装django、mysqlclient备选 pymysqlDjango 项目创建manage.py与config配置目录MySQL 建库rbac_dbutf8mb4 / utf8mb4_unicode_ci连接配置DATABASES指向127.0.0.1:3306的rbac_db语言与时区zh-hans、Asia/Shanghai连接验证migrate创建 Django 默认表启动验证runserver后可见 Django 欢迎页面常见问题与排查现象原因处理Windows 下pip install mysqlclient失败该包需要本地编译环境安装成本较高先执行pip install pymysql作为替代条件允许时仍优先尝试mysqlclientSHOW DATABASES;中看不到rbac_dbCREATE DATABASE语句未执行成功或登录账号权限不足重新执行建库语句并确认使用的 MySQL 账号具备建库权限python manage.py migrate报连接类错误DATABASES中密码、主机、端口与实际 MySQL 不一致逐项核对PASSWORD、HOST、PORT确认 MySQL 服务已启动migrate 输出中出现中文乱码相关异常连接字符集与库字符集不一致确认charset: utf8mb4已配置且库为 utf8mb4浏览器访问http://127.0.0.1:8000/无响应runserver未启动或端口被占用确认服务在运行必要时释放 8000 端口后重启下一阶段衔接阶段 1 交付的是可运行、已连库的 Django 项目。阶段 2阶段 2创建 RBAC 四张表.md将在本阶段的backend中创建rbac应用编写权限、角色、角色权限关联、用户四个模型并通过迁移在rbac_db中生成 RBAC 的四张核心表。本阶段的目录结构与数据库配置是阶段 2 全部操作的直接前提。
返回列表