Django项目创建、配置及ORM数据库操作详解

周叙
周叙
发布时间:2026-10-13| 4人浏览过
原创

本文详细解析Django项目的初始化配置与ORM数据库操作流程。内容涵盖从命令行创建项目与APP、修改settings.py配置模板与静态文件路径,到处理CSRF中间件。重点讲解如何在Python 3环境下通过pymysql连接MySQL数据库,并演示利用makemigrations与migrate命令完成数据模型到数据库表的自动映射与迁移步骤。

本文深入解析Django项目的基础配置流程及其基本使用方法,通过具体的示例代码展示关键步骤,旨在为读者的学习或实际工作提供具有参考价值的指导。

Django项目与应用创建

首先,在目标目录下通过命令行执行 `django-admin startproject 项目名称` 命令,即可快速创建一个新的Django项目结构。

项目创建完成后,在PyCharm的Terminal终端中运行 `python manage.py startapp app名称` 命令,以新建一个Django应用(APP)模块。

Django项目核心配置

接下来进入Django项目的核心配置环节。

主要涉及对 `settings.py` 配置文件的关键修改。

首先是模板路径的配置,即指定HTML文件存放的位置,以便Django能够正确查找渲染所需的HTML文件。

具体配置代码为:`'DIRS': [os.path.join(BASE_DIR,'templates')]`,该设置明确了HTML文件在项目目录下的存放路径。

对配置字符串进行解释说明。

`os.path.join()` 函数用于拼接目录路径,最终生成的路径示例为:`E:\py文件_django\mysite\templates`。

其次是静态文件的配置,用于存放CSS、JavaScript及图片等前端资源文件。

在编写HTML文件时,必须同步配置好静态文件的路径,以确保资源能被正确加载。

此外,需注释掉 `settings.py` 中包含 `csrf` 的相关行。此举旨在暂时防止CSRF(跨站请求伪造)攻击,因为当前阶段尚未在HTML中进行相关的CSRF令牌配置,注释后可避免报错。

完成项目基础配置后,还需对新创建的APP进行相应设置。

需要在 `settings.py` 中注册新建的APP,告知Django该应用的存在。注意,如果是通过命令行工具创建APP,通常不需要手动配置此项,但其他方式创建时需手动添加。

Django ORM数据库操作与迁移

随后详细介绍Django ORM(对象关系映射)的使用步骤。

第一步是手动创建数据库实例。

第二步是在Django项目的 `settings.py` 中配置数据库连接参数,明确指定Django应连接哪一个数据库。

第三步,在项目的 `__init__.py` 文件中添加代码,告知Django使用 `pymysql` 库代替默认的 `mysqldb` 来连接数据库。这是因为在Python 3环境中,`mysqldb` 不再被直接支持。

第四步,在创建的APP项目(例如 `my_inn`)的 `models.py` 文件中进行数据库操作。通过定义一个继承自 `models.Model` 的类来创建数据表结构。

第五步,按顺序执行两条关键命令以完成数据库同步。

首先执行 `python manage.py makemigrations`。

该命令的作用是生成迁移文件,记录 `models.py` 中的模型变更,并将这些变更记录保存在 `my_inn/migrations` 文件夹下。

接着执行 `python manage.py migrate`。

此命令负责执行迁移文件,将模型中的改动翻译为具体的SQL语句并在数据库中执行。执行完毕后,数据库中将自动创建对应的数据表。

无论是创建新表、删除表还是修改表结构,均需在 `models.py` 中修改对应的类定义,然后依次执行上述两条迁移命令。若需删除表,只需将对应的模型类删除或注释掉,再执行迁移命令即可。

以上内容构成了本文的全部讲解,希望对读者的学习有所帮助,也欢迎大家继续支持本站获取更多技术资源。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。