Django 框架说明
Django 是一个高级的 Python Web 框架,旨在快速开发和清晰的设计。它鼓励快速开发、简洁的设计和可复用的组件。Django 遵循“不要重复自己”(DRY,Don’t Repeat Yourself)原则,提供了丰富的工具和库来帮助开发者高效地构建 Web 应用程序。
安装 Django
Django 可以通过 pip
轻松安装,确保你已经安装了 Python 和 pip,可以参考Django 安装和Django 项目创建。
安装完成后,可以通过以下命令检查是否成功安装:
创建 Django 项目
在终端中运行以下命令来创建一个新的 Django 项目:
myproject
是你要创建的项目的名称。该命令会创建一个包含以下结构的文件夹:
Django 的核心概念
MTV 模式
Django 是基于 MTV(Model-Template-View)架构设计的,与 MVC 模式类似,但做了一些修改:
- Model(模型):定义数据结构和数据库交互。
- Template(模板):定义 HTML 页面结构和前端展示。
- View(视图):处理业务逻辑并返回响应(通常是通过模板渲染的 HTML 页面)。
URL 路由
Django 的 URL 路由系统负责将用户的请求映射到相应的视图。路由的配置在 urls.py
中进行。
例如:
视图
视图是处理请求并返回响应的函数或类。在 Django 中,视图函数接受 Web 请求,处理相应的业务逻辑,然后返回一个 Web 响应。
视图函数示例:
模板
模板负责将动态内容呈现给用户。Django 使用 Django Template Language
(DTL)来渲染 HTML 页面。模板文件通常位于 templates
文件夹中。
模板示例:
模型
模型是 Django 用来与数据库交互的组件。它通常是一个继承自 django.db.models.Model
的 Python 类。
模型示例:
Django 的主要组件
Django Admin
Django 提供了一个内置的管理界面(Django Admin),使得网站管理员可以方便地管理数据库中的内容。通过创建一个管理员用户,你可以访问 Django 提供的后台管理界面。
创建管理员用户:
然后启动开发服务器并访问 /admin
页面:
ORM (对象关系映射)
Django 使用 ORM 来将数据库表映射为 Python 对象。你可以通过模型类的实例来访问和操作数据库。
例如,获取所有文章:
Django ORM 数据库迁移
Django 使用迁移来同步数据库模式。每当你对模型做出更改时,必须创建并应用迁移。
创建迁移:
应用迁移:
项目结构
一个典型的 Django 项目结构如下:
开发步骤
-
创建项目:
-
创建应用: 在项目目录下,创建一个应用:
-
配置数据库: 在
settings.py
中配置数据库(默认为 SQLite)。 -
定义模型: 在
blog/models.py
中定义数据库模型。 -
创建视图: 在
blog/views.py
中编写视图函数。 -
配置 URL 路由: 在
blog/urls.py
中配置路由。 -
运行开发服务器: 启动开发服务器并在浏览器中访问:
常见问题与解决方案
1. 迁移报错:“OperationalError: no such table”
解决方案:你需要先运行 makemigrations
和 migrate
来同步数据库。
2. 模板不加载静态文件
解决方案:确保你在 settings.py
中正确配置了 STATIC_URL
和 STATICFILES_DIRS
。
3. 视图函数返回错误
解决方案:检查视图函数的实现和 URL 配置是否正确,确保视图函数没有抛出异常。