|
|
|
|
@ -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/<int:page>/',
|
|
|
|
|
views.IndexView.as_view(),
|
|
|
|
|
name='index_page'),
|
|
|
|
|
|
|
|
|
|
# ccy: 文章详情页路由 - 根据年月日和文章ID显示具体文章内容
|
|
|
|
|
path(
|
|
|
|
|
r'article/<int:year>/<int:month>/<int:day>/<int:article_id>.html',
|
|
|
|
|
views.ArticleDetailView.as_view(),
|
|
|
|
|
name='detailbyid'),
|
|
|
|
|
|
|
|
|
|
# ccy: 分类详情页路由 - 显示指定分类下的所有文章
|
|
|
|
|
path(
|
|
|
|
|
r'category/<slug:category_name>.html',
|
|
|
|
|
views.CategoryDetailView.as_view(),
|
|
|
|
|
name='category_detail'),
|
|
|
|
|
|
|
|
|
|
# ccy: 分类分页路由 - 显示指定分类下指定页码的文章
|
|
|
|
|
path(
|
|
|
|
|
r'category/<slug:category_name>/<int:page>.html',
|
|
|
|
|
views.CategoryDetailView.as_view(),
|
|
|
|
|
name='category_detail_page'),
|
|
|
|
|
|
|
|
|
|
# ccy: 作者详情页路由 - 显示指定作者的所有文章
|
|
|
|
|
path(
|
|
|
|
|
r'author/<author_name>.html',
|
|
|
|
|
views.AuthorDetailView.as_view(),
|
|
|
|
|
name='author_detail'),
|
|
|
|
|
|
|
|
|
|
# ccy: 作者分页路由 - 显示指定作者下指定页码的文章
|
|
|
|
|
path(
|
|
|
|
|
r'author/<author_name>/<int:page>.html',
|
|
|
|
|
views.AuthorDetailView.as_view(),
|
|
|
|
|
name='author_detail_page'),
|
|
|
|
|
|
|
|
|
|
# ccy: 标签详情页路由 - 显示指定标签下的所有文章
|
|
|
|
|
path(
|
|
|
|
|
r'tag/<slug:tag_name>.html',
|
|
|
|
|
views.TagDetailView.as_view(),
|
|
|
|
|
name='tag_detail'),
|
|
|
|
|
|
|
|
|
|
# ccy: 标签分页路由 - 显示指定标签下指定页码的文章
|
|
|
|
|
path(
|
|
|
|
|
r'tag/<slug:tag_name>/<int:page>.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/<int:page>/',
|
|
|
|
|
views.IndexView.as_view(),
|
|
|
|
|
name='index_page'),
|
|
|
|
|
|
|
|
|
|
# ccy: 文章详情页路由 - 根据年月日和文章ID显示具体文章内容
|
|
|
|
|
path(
|
|
|
|
|
r'article/<int:year>/<int:month>/<int:day>/<int:article_id>.html',
|
|
|
|
|
views.ArticleDetailView.as_view(),
|
|
|
|
|
name='detailbyid'),
|
|
|
|
|
|
|
|
|
|
# ccy: 分类详情页路由 - 显示指定分类下的所有文章
|
|
|
|
|
path(
|
|
|
|
|
r'category/<slug:category_name>.html',
|
|
|
|
|
views.CategoryDetailView.as_view(),
|
|
|
|
|
name='category_detail'),
|
|
|
|
|
|
|
|
|
|
# ccy: 分类分页路由 - 显示指定分类下指定页码的文章
|
|
|
|
|
path(
|
|
|
|
|
r'category/<slug:category_name>/<int:page>.html',
|
|
|
|
|
views.CategoryDetailView.as_view(),
|
|
|
|
|
name='category_detail_page'),
|
|
|
|
|
|
|
|
|
|
# ccy: 作者详情页路由 - 显示指定作者的所有文章
|
|
|
|
|
path(
|
|
|
|
|
r'author/<author_name>.html',
|
|
|
|
|
views.AuthorDetailView.as_view(),
|
|
|
|
|
name='author_detail'),
|
|
|
|
|
|
|
|
|
|
# ccy: 作者分页路由 - 显示指定作者下指定页码的文章
|
|
|
|
|
path(
|
|
|
|
|
r'author/<author_name>/<int:page>.html',
|
|
|
|
|
views.AuthorDetailView.as_view(),
|
|
|
|
|
name='author_detail_page'),
|
|
|
|
|
|
|
|
|
|
# ccy: 标签详情页路由 - 显示指定标签下的所有文章
|
|
|
|
|
path(
|
|
|
|
|
r'tag/<slug:tag_name>.html',
|
|
|
|
|
views.TagDetailView.as_view(),
|
|
|
|
|
name='tag_detail'),
|
|
|
|
|
|
|
|
|
|
# ccy: 标签分页路由 - 显示指定标签下指定页码的文章
|
|
|
|
|
path(
|
|
|
|
|
r'tag/<slug:tag_name>/<int:page>.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'),
|
|
|
|
|
]
|