From f68f310bc032a18d0b6d9a7bdbfac5f57559497a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=81=A5=E9=B9=8F?= <3331425936@qq.com> Date: Sun, 9 Nov 2025 16:38:21 +0800 Subject: [PATCH] =?UTF-8?q?zjp=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DjangoBlog-master/blog/urls.py | 116 ++++++++++++------ 1 file changed, 78 insertions(+), 38 deletions(-) diff --git a/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py b/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py index adf2703..5c02d42 100644 --- a/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py +++ b/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py @@ -1,62 +1,102 @@ +# zjp: 博客应用URL配置模块 +# zjp: 定义博客系统的所有URL路由和视图映射 + from django.urls import path from django.views.decorators.cache import cache_page from . import views -app_name = "blog" +app_name = "blog" # zjp: 定义应用命名空间,用于URL反向解析 + urlpatterns = [ + # zjp: 首页 - 显示文章列表 path( r'', - views.IndexView.as_view(), - name='index'), + views.IndexView.as_view(), # zjp: 使用类视图处理首页请求 + name='index' + ), + + # zjp: 首页分页 - 显示指定页码的文章列表 path( - r'page//', - views.IndexView.as_view(), - name='index_page'), + r'page//', # zjp: page参数为整数类型,表示页码 + views.IndexView.as_view(), # zjp: 复用IndexView处理分页逻辑 + name='index_page' + ), + + # zjp: 文章详情页 - 通过年份、月份、日期和文章ID访问具体文章 path( - r'article////.html', - views.ArticleDetailView.as_view(), - name='detailbyid'), + r'article////.html', # zjp: 多参数URL,包含时间信息和文章ID + views.ArticleDetailView.as_view(), # zjp: 文章详情类视图 + name='detailbyid' + ), + + # zjp: 分类详情页 - 显示指定分类下的所有文章 path( - r'category/.html', - views.CategoryDetailView.as_view(), - name='category_detail'), + r'category/.html', # zjp: slug类型参数,保证URL友好性 + views.CategoryDetailView.as_view(), # zjp: 分类文章列表视图 + name='category_detail' + ), + + # zjp: 分类详情分页 - 显示指定分类下指定页码的文章 path( - r'category//.html', - views.CategoryDetailView.as_view(), - name='category_detail_page'), + r'category//.html', # zjp: 分类名和页码组合参数 + views.CategoryDetailView.as_view(), # zjp: 复用分类视图处理分页 + name='category_detail_page' + ), + + # zjp: 作者详情页 - 显示指定作者的所有文章 path( - r'author/.html', - views.AuthorDetailView.as_view(), - name='author_detail'), + r'author/.html', # zjp: 作者名称参数 + views.AuthorDetailView.as_view(), # zjp: 作者文章列表视图 + name='author_detail' + ), + + # zjp: 作者详情分页 - 显示指定作者下指定页码的文章 path( - r'author//.html', - views.AuthorDetailView.as_view(), - name='author_detail_page'), + r'author//.html', # zjp: 作者名和页码组合参数 + views.AuthorDetailView.as_view(), # zjp: 复用作者视图处理分页 + name='author_detail_page' + ), + + # zjp: 标签详情页 - 显示指定标签下的所有文章 path( - r'tag/.html', - views.TagDetailView.as_view(), - name='tag_detail'), + r'tag/.html', # zjp: slug类型标签名参数 + views.TagDetailView.as_view(), # zjp: 标签文章列表视图 + name='tag_detail' + ), + + # zjp: 标签详情分页 - 显示指定标签下指定页码的文章 path( - r'tag//.html', - views.TagDetailView.as_view(), - name='tag_detail_page'), + r'tag//.html', # zjp: 标签名和页码组合参数 + views.TagDetailView.as_view(), # zjp: 复用标签视图处理分页 + name='tag_detail_page' + ), + + # zjp: 归档页面 - 显示所有文章按时间归档,使用缓存加速(缓存1小时) path( 'archives.html', - cache_page( - 60 * 60)( - views.ArchivesView.as_view()), - name='archives'), + cache_page(60 * 60)(views.ArchivesView.as_view()), # zjp: 缓存装饰器,缓存1小时(3600秒) + name='archives' + ), + + # zjp: 友情链接页面 - 显示所有友情链接 path( 'links.html', - views.LinkListView.as_view(), - name='links'), + views.LinkListView.as_view(), # zjp: 链接列表视图 + name='links' + ), + + # zjp: 文件上传接口 - 处理文件上传请求 path( r'upload', - views.fileupload, - name='upload'), + views.fileupload, # zjp: 使用函数视图处理文件上传 + name='upload' + ), + + # zjp: 缓存清理接口 - 清理系统缓存 path( r'clean', - views.clean_cache_view, - name='clean'), -] + views.clean_cache_view, # zjp: 使用函数视图处理缓存清理 + name='clean' + ), +] \ No newline at end of file