From e3c84e849a2c96f2efa44c1cefe4af6254ffcf43 Mon Sep 17 00:00:00 2001 From: ccy_branch <531334290@qq.com> Date: Sat, 8 Nov 2025 23:54:10 +0800 Subject: [PATCH 1/3] =?UTF-8?q?ccy=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 | 120 +++++++++++++++++- 1 file changed, 114 insertions(+), 6 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..dd95739 100644 --- a/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py +++ b/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py @@ -1,62 +1,170 @@ -from django.urls import path -from django.views.decorators.cache import cache_page +# ccy: 博客应用URL配置模块 +# ccy: 定义博客应用的所有URL路由和对应的视图函数 +# ccy: 第一部分URL配置 -from . import views - -app_name = "blog" +app_name = "blog" # ccy: 定义应用命名空间为'blog' urlpatterns = [ + # ccy: 首页路由 - 显示博客文章列表 path( r'', views.IndexView.as_view(), name='index'), + + # ccy: 分页首页路由 - 显示指定页码的文章列表 path( r'page//', views.IndexView.as_view(), name='index_page'), + + # ccy: 文章详情页路由 - 根据年月日和文章ID显示具体文章内容 path( r'article////.html', views.ArticleDetailView.as_view(), name='detailbyid'), + + # ccy: 分类详情页路由 - 显示指定分类下的所有文章 path( r'category/.html', views.CategoryDetailView.as_view(), name='category_detail'), + + # ccy: 分类分页路由 - 显示指定分类下指定页码的文章 path( r'category//.html', views.CategoryDetailView.as_view(), name='category_detail_page'), + + # ccy: 作者详情页路由 - 显示指定作者的所有文章 path( r'author/.html', views.AuthorDetailView.as_view(), name='author_detail'), + + # ccy: 作者分页路由 - 显示指定作者下指定页码的文章 path( r'author//.html', views.AuthorDetailView.as_view(), name='author_detail_page'), + + # ccy: 标签详情页路由 - 显示指定标签下的所有文章 path( r'tag/.html', views.TagDetailView.as_view(), name='tag_detail'), + + # ccy: 标签分页路由 - 显示指定标签下指定页码的文章 path( r'tag//.html', views.TagDetailView.as_view(), name='tag_detail_page'), + + # ccy: 归档页面路由 - 显示所有文章的归档,使用缓存加速(缓存1小时) path( 'archives.html', cache_page( - 60 * 60)( + 60 * 60)( # ccy: 设置缓存时间为60分钟 views.ArchivesView.as_view()), name='archives'), + + # ccy: 友情链接页面路由 - 显示所有友情链接 path( 'links.html', views.LinkListView.as_view(), name='links'), + + # ccy: 文件上传功能路由 - 处理文件上传请求 path( r'upload', views.fileupload, name='upload'), + + # ccy: 缓存清理功能路由 - 清理系统缓存 path( r'clean', views.clean_cache_view, name='clean'), ] + + +app_name = "blog" # ccy: 重复定义应用命名空间为'blog' +urlpatterns = [ + # ccy: 首页路由 - 显示博客文章列表 + path( + r'', + views.IndexView.as_view(), + name='index'), + + # ccy: 分页首页路由 - 显示指定页码的文章列表 + path( + r'page//', + views.IndexView.as_view(), + name='index_page'), + + # ccy: 文章详情页路由 - 根据年月日和文章ID显示具体文章内容 + path( + r'article////.html', + views.ArticleDetailView.as_view(), + name='detailbyid'), + + # ccy: 分类详情页路由 - 显示指定分类下的所有文章 + path( + r'category/.html', + views.CategoryDetailView.as_view(), + name='category_detail'), + + # ccy: 分类分页路由 - 显示指定分类下指定页码的文章 + path( + r'category//.html', + views.CategoryDetailView.as_view(), + name='category_detail_page'), + + # ccy: 作者详情页路由 - 显示指定作者的所有文章 + path( + r'author/.html', + views.AuthorDetailView.as_view(), + name='author_detail'), + + # ccy: 作者分页路由 - 显示指定作者下指定页码的文章 + path( + r'author//.html', + views.AuthorDetailView.as_view(), + name='author_detail_page'), + + # ccy: 标签详情页路由 - 显示指定标签下的所有文章 + path( + r'tag/.html', + views.TagDetailView.as_view(), + name='tag_detail'), + + # ccy: 标签分页路由 - 显示指定标签下指定页码的文章 + path( + r'tag//.html', + views.TagDetailView.as_view(), + name='tag_detail_page'), + + # ccy: 归档页面路由 - 显示所有文章的归档,使用缓存加速(缓存1小时) + path( + 'archives.html', + cache_page( + 60 * 60)( # ccy: 设置缓存时间为60分钟 + views.ArchivesView.as_view()), + name='archives'), + + # ccy: 友情链接页面路由 - 显示所有友情链接 + path( + 'links.html', + views.LinkListView.as_view(), + name='links'), + + # ccy: 文件上传功能路由 - 处理文件上传请求 + path( + r'upload', + views.fileupload, + name='upload'), + + # ccy: 缓存清理功能路由 - 清理系统缓存 + path( + r'clean', + views.clean_cache_view, + name='clean'), +] \ No newline at end of file -- 2.34.1 From ee7129bac9a2ab1d87e08c0057e1610c81c362df Mon Sep 17 00:00:00 2001 From: ccy_branch <531334290@qq.com> Date: Sun, 9 Nov 2025 00:02:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DjangoBlog-master/blog/urls.py | 153 +++++++++--------- 1 file changed, 78 insertions(+), 75 deletions(-) diff --git a/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py b/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py index dd95739..bc2b364 100644 --- a/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py +++ b/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py @@ -1,170 +1,173 @@ -# ccy: 博客应用URL配置模块 -# ccy: 定义博客应用的所有URL路由和对应的视图函数 -# ccy: 第一部分URL配置 +<<<<<<< HEAD +# 导入 Django 内置的路径配置工具和缓存装饰器 +from django.urls import path +from django.views.decorators.cache import cache_page -app_name = "blog" # ccy: 定义应用命名空间为'blog' +# 导入当前应用(blog)的视图模块,用于关联路由与视图逻辑 +from . import views + +# 定义应用命名空间(namespace),用于在模板或反向解析时区分不同应用的路由 +# 例如:在模板中使用 {% url 'blog:index' %} 生成首页链接 +app_name = "blog" + +# 路由配置列表,每个 path 对应一个 URL 规则与视图的映射 urlpatterns = [ - # ccy: 首页路由 - 显示博客文章列表 + # 首页路由:匹配根路径(网站域名/) path( - r'', - views.IndexView.as_view(), - name='index'), + r'', # URL 路径表达式,空字符串表示根路径 + views.IndexView.as_view(), # 关联的视图类(IndexView),通过 as_view() 转换为可调用视图 + name='index' # 路由名称,用于反向解析(如 reverse('blog:index')) + ), - # ccy: 分页首页路由 - 显示指定页码的文章列表 + # 分页首页路由:匹配带页码的首页(如 /page/2/) path( - r'page//', - views.IndexView.as_view(), - name='index_page'), + r'page//', # 是路径参数,int 表示接收整数类型,page 是参数名 + views.IndexView.as_view(), # 复用首页视图类,视图中会通过 page 参数处理分页 + name='index_page' + ), - # ccy: 文章详情页路由 - 根据年月日和文章ID显示具体文章内容 + # 文章详情页路由:按日期和文章ID匹配(如 /article/2023/10/20/100.html) path( r'article////.html', - views.ArticleDetailView.as_view(), - name='detailbyid'), + # 路径参数:year(年)、month(月)、day(日)、article_id(文章ID),均为整数 + views.ArticleDetailView.as_view(), # 文章详情视图类,处理文章展示逻辑 + name='detailbyid' + ), - # ccy: 分类详情页路由 - 显示指定分类下的所有文章 + # 分类详情页路由:按分类名匹配(如 /category/tech.html) path( r'category/.html', - views.CategoryDetailView.as_view(), - name='category_detail'), + # :slug 类型表示接收字母、数字、下划线和连字符组成的字符串(适合URL友好的名称) + views.CategoryDetailView.as_view(), # 分类详情视图类,展示该分类下的文章 + name='category_detail' + ), - # ccy: 分类分页路由 - 显示指定分类下指定页码的文章 + # 分类详情分页路由:带页码的分类页(如 /category/tech/2.html) path( r'category//.html', - views.CategoryDetailView.as_view(), - name='category_detail_page'), + views.CategoryDetailView.as_view(), # 复用分类视图类,通过 page 参数分页 + name='category_detail_page' + ), - # ccy: 作者详情页路由 - 显示指定作者的所有文章 + # 作者详情页路由:按作者名匹配(如 /author/alice.html) path( r'author/.html', - views.AuthorDetailView.as_view(), - name='author_detail'), + # :未指定类型,默认接收字符串(除特殊字符外) + views.AuthorDetailView.as_view(), # 作者详情视图类,展示该作者的文章 + name='author_detail' + ), - # ccy: 作者分页路由 - 显示指定作者下指定页码的文章 + # 作者详情分页路由:带页码的作者页(如 /author/alice/2.html) path( r'author//.html', - views.AuthorDetailView.as_view(), - name='author_detail_page'), + views.AuthorDetailView.as_view(), # 复用作者视图类,通过 page 参数分页 + name='author_detail_page' + ), - # ccy: 标签详情页路由 - 显示指定标签下的所有文章 + # 标签详情页路由:按标签名匹配(如 /tag/python.html) path( r'tag/.html', - views.TagDetailView.as_view(), - name='tag_detail'), + views.TagDetailView.as_view(), # 标签详情视图类,展示该标签下的文章 + name='tag_detail' + ), - # ccy: 标签分页路由 - 显示指定标签下指定页码的文章 + # 标签详情分页路由:带页码的标签页(如 /tag/python/2.html) path( r'tag//.html', - views.TagDetailView.as_view(), - name='tag_detail_page'), + views.TagDetailView.as_view(), # 复用标签视图类,通过 page 参数分页 + name='tag_detail_page' + ), - # ccy: 归档页面路由 - 显示所有文章的归档,使用缓存加速(缓存1小时) + # 归档页路由:匹配 /archives.html path( 'archives.html', - cache_page( - 60 * 60)( # ccy: 设置缓存时间为60分钟 - views.ArchivesView.as_view()), - name='archives'), + # 缓存装饰器:cache_page(60*60) 表示缓存该页面1小时(60秒*60),减轻服务器压力 + cache_page(60 * 60)(views.ArchivesView.as_view()), + name='archives' # 归档视图,通常展示按日期分组的文章列表 + ), - # ccy: 友情链接页面路由 - 显示所有友情链接 + # 友情链接页路由:匹配 /links.html path( 'links.html', - views.LinkListView.as_view(), - name='links'), + views.LinkListView.as_view(), # 友情链接视图类,展示网站链接列表 + name='links' + ), - # ccy: 文件上传功能路由 - 处理文件上传请求 + # 文件上传路由:匹配 /upload path( r'upload', - views.fileupload, - name='upload'), + views.fileupload, # 关联函数视图(非类视图),处理文件上传逻辑 + name='upload' + ), - # ccy: 缓存清理功能路由 - 清理系统缓存 + # 缓存清理路由:匹配 /clean path( r'clean', - views.clean_cache_view, - name='clean'), + views.clean_cache_view, # 关联缓存清理视图,用于手动触发缓存清理 + name='clean' + ), ] +======= +from django.urls import path +from django.views.decorators.cache import cache_page +from . import views -app_name = "blog" # ccy: 重复定义应用命名空间为'blog' +app_name = "blog" urlpatterns = [ - # ccy: 首页路由 - 显示博客文章列表 path( r'', views.IndexView.as_view(), name='index'), - - # ccy: 分页首页路由 - 显示指定页码的文章列表 path( r'page//', views.IndexView.as_view(), name='index_page'), - - # ccy: 文章详情页路由 - 根据年月日和文章ID显示具体文章内容 path( r'article////.html', views.ArticleDetailView.as_view(), name='detailbyid'), - - # ccy: 分类详情页路由 - 显示指定分类下的所有文章 path( r'category/.html', views.CategoryDetailView.as_view(), name='category_detail'), - - # ccy: 分类分页路由 - 显示指定分类下指定页码的文章 path( r'category//.html', views.CategoryDetailView.as_view(), name='category_detail_page'), - - # ccy: 作者详情页路由 - 显示指定作者的所有文章 path( r'author/.html', views.AuthorDetailView.as_view(), name='author_detail'), - - # ccy: 作者分页路由 - 显示指定作者下指定页码的文章 path( r'author//.html', views.AuthorDetailView.as_view(), name='author_detail_page'), - - # ccy: 标签详情页路由 - 显示指定标签下的所有文章 path( r'tag/.html', views.TagDetailView.as_view(), name='tag_detail'), - - # ccy: 标签分页路由 - 显示指定标签下指定页码的文章 path( r'tag//.html', views.TagDetailView.as_view(), name='tag_detail_page'), - - # ccy: 归档页面路由 - 显示所有文章的归档,使用缓存加速(缓存1小时) path( 'archives.html', cache_page( - 60 * 60)( # ccy: 设置缓存时间为60分钟 + 60 * 60)( views.ArchivesView.as_view()), name='archives'), - - # ccy: 友情链接页面路由 - 显示所有友情链接 path( 'links.html', views.LinkListView.as_view(), name='links'), - - # ccy: 文件上传功能路由 - 处理文件上传请求 path( r'upload', views.fileupload, name='upload'), - - # ccy: 缓存清理功能路由 - 清理系统缓存 path( r'clean', views.clean_cache_view, name='clean'), -] \ No newline at end of file +] +>>>>>>> ccy_branch \ No newline at end of file -- 2.34.1 From 4c18c6bb3479aafc000731a29a538bd1d8d779f9 Mon Sep 17 00:00:00 2001 From: djq <1092424998@qq.com> Date: Sun, 9 Nov 2025 00:39:22 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py b/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py index bc2b364..44bb441 100644 --- a/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py +++ b/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py @@ -170,4 +170,4 @@ urlpatterns = [ views.clean_cache_view, name='clean'), ] ->>>>>>> ccy_branch \ No newline at end of file +>>>>>>> ccy_branch -- 2.34.1