目录
Django 是一个用 Python 编写的开源 Web 框架,它以 组件完善 和 可扩展性强 著称。它遵循 MVC 架构(严格来说,Django 是 MTV:Model-Template-View),目标是帮助开发者快速构建高质量 Web 应用。以下是对 Django 的核心知识点进行的详细介绍。
1. Django 的核心架构:MTV
Django 是基于 MTV 模式设计的,它与传统的 MVC 模式类似:
- Model(模型):
- 负责与数据库交互,定义数据的结构和相关操作。
- Django 提供内置的 ORM(对象关系映射)系统,与数据库无缝连接。
- Template(模板):
- 负责呈现用户界面,通过动态生成 HTML 页面向用户展示内容。
- View(视图):
- 负责处理逻辑。接收 HTTP 请求,执行相应的业务逻辑,并返回响应。
2. Django 目录结构
Django 项目的默认目录结构如下:
Code
my_project/ # 项目根目录
├── manage.py # 管理脚本,用来执行数据库迁移、启动服务等
├── my_project/ # 项目配置目录,包含全局设置
│ ├── __init__.py
│ ├── settings.py # 项目的全局配置,比如数据库、静态文件
│ ├── urls.py # 项目级 URL 路由
│ ├── asgi.py
│ └── wsgi.py
├── app_name/ # Django 应用目录
│ ├── migrations/ # 数据迁移文件
│ ├── admin.py # 管理后台的配置文件
│ ├── apps.py # 应用程序定义
│ ├── models.py # 数据模型定义
│ ├── tests.py # 单元测试文件
│ ├── views.py # 视图函数或类
│ └── templates/ # 应用的模板文件存储
3. Django 核心功能讲解
3.1 URL 解析与分发 (urls.py)
Django 将用户发出的请求与视图函数绑定,通过 URL 模式匹配。
-
定义 URL 路由规则:
Python
from django.urls import path from . import views urlpatterns = [ path('home/', views.home, name='home'), # 映射到 home 视图 path('user/<int:id>/', views.user_detail), # URL 参数 ] -
动态路由支持正则表达式:
Python
# 用户名为字符串的动态路由 path('profile/<str:username>/', views.profile),
3.2 视图函数 (views.py)
视图函数是 Django 中的请求处理逻辑,用来响应 HTTP 请求。

644

被折叠的 条评论
为什么被折叠?



