Django基础教程
第一部分:基础入门
1. 引言
Django简介
Django的优势与应用场景
2. 搭建开发环境
安装Python
创建虚拟环境
安装Django
3. 创建第一个Django项目
初始化Django项目
项目结构解析
启动开发服务器
4. Django的MVT架构
模型(Model)
视图(View)
模板(Template)
URL路由
第二部分:核心功能
1. 模型(Model)
定义模型
数据库迁移
模型字段与选项
2. 视图(View)
视图函数
基于类的视图
视图装饰器
3. 模板(Template)
创建模板
模板语法
模板继承
4. URL路由
定义URL模式
路由分发
5. 表单处理
定义表单
表单验证
文件上传
第三部分:高级功能
1. 用户认证与权限
用户认证
权限管理
2. Django Admin
自定义Admin界面
管理动作
3. 静态文件与媒体文件
静态文件管理
媒体文件处理
4. Django REST framework(DRF)
DRF简介
序列化器
视图集与路由
5. API文档
使用Swagger生成API文档
第四部分:实战与部署
1. 实战项目开发
用户管理系统
博客系统
文章管理系统
2. 数据库迁移
迁移至MySQL
数据库优化
3. 日志管理
日志配置
日志记录
4. 部署生产环境
部署到WSGI服务器
使用Docker部署
部署检查清单
5. 性能优化
性能优化策略
缓存机制
6. 总结
项目回顾
学习资源推荐
-
+
首页
定义URL模式
URL模式定义了URL的结构以及对应的视图函数或类。Django使用`path()`函数或`re_path()`函数来定义URL模式,这些模式通常定义在应用的`urls.py`文件中。 #### **1.1 使用`path()`函数** `path()`函数用于定义简单的URL模式,它接受以下参数: - `route`:URL模式的字符串。 - `view`:对应的视图函数或类。 - `name`:URL模式的名称,用于在模板和视图中反向解析URL。 **示例:定义简单的URL模式** Python复制 ```python from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), # 主页 path('about/', views.about, name='about'), # 关于页面 path('contact/', views.contact, name='contact'), # 联系页面 ] ``` 在上述代码中: - `''`表示根URL,对应`home`视图。 - `'about/'`表示`/about/`路径,对应`about`视图。 - `'contact/'`表示`/contact/`路径,对应`contact`视图。 #### **1.2 捕获URL参数** 可以通过在URL模式中定义参数来捕获URL中的值,并将这些值传递给视图函数或类。 **示例:捕获URL参数** Python复制 ```python from django.urls import path from . import views urlpatterns = [ path('book/<int:book_id>/', views.book_detail, name='book_detail'), # 捕获整数参数 path('author/<str:author_name>/', views.author_detail, name='author_detail'), # 捕获字符串参数 ] ``` 在上述代码中: - `book/<int:book_id>/`捕获URL中的整数参数`book_id`,并传递给`book_detail`视图。 - `author/<str:author_name>/`捕获URL中的字符串参数`author_name`,并传递给`author_detail`视图。 #### **1.3 使用`re_path()`函数** `re_path()`函数用于定义基于正则表达式的URL模式,适用于更复杂的URL结构。 **示例:使用正则表达式捕获参数** Python复制 ```python from django.urls import re_path from . import views urlpatterns = [ re_path(r'^book/(?P<book_id>\d+)/$', views.book_detail, name='book_detail'), # 捕获数字参数 re_path(r'^author/(?P<author_name>\w+)/$', views.author_detail, name='author_detail'), # 捕获单词字符参数 ] ``` 在上述代码中: - `(?P<book_id>\d+)`捕获一个或多个数字,并命名为`book_id`。 - `(?P<author_name>\w+)`捕获一个或多个单词字符,并命名为`author_name`。
黄老师
2025年2月7日 09:39
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码