diff --git a/djangoblog/urls.py b/djangoblog/urls.py index 6a9e1de6..9e2274d4 100644 --- a/djangoblog/urls.py +++ b/djangoblog/urls.py @@ -24,55 +24,66 @@ from django.http import JsonResponse import time from blog.views import EsSearchView -from djangoblog.admin_site import admin_site -from djangoblog.elasticsearch_backend import ElasticSearchModelSearchForm -from djangoblog.feeds import DjangoBlogFeed -from djangoblog.sitemap import ArticleSiteMap, CategorySiteMap, StaticViewSitemap, TagSiteMap, UserSiteMap +from djangoblog.admin_site import admin_site # 自定义的admin站点 +from djangoblog.elasticsearch_backend import ElasticSearchModelSearchForm # ElasticSearch搜索表单 +from djangoblog.feeds import DjangoBlogFeed # RSS订阅源 +from djangoblog.sitemap import ( # 站点地图相关类 + ArticleSiteMap, CategorySiteMap, StaticViewSitemap, TagSiteMap, UserSiteMap +) +#姜雨菲: 站点地图配置:将不同类型的页面分别映射到对应的站点地图类 sitemaps = { - - 'blog': ArticleSiteMap, - 'Category': CategorySiteMap, - 'Tag': TagSiteMap, - 'User': UserSiteMap, - 'static': StaticViewSitemap + 'blog': ArticleSiteMap, # 文章页面 + 'Category': CategorySiteMap, # 分类页面 + 'Tag': TagSiteMap, # 标签页面 + 'User': UserSiteMap, # 用户页面 + 'static': StaticViewSitemap # 静态页面 } -handler404 = 'blog.views.page_not_found_view' -handler500 = 'blog.views.server_error_view' -handle403 = 'blog.views.permission_denied_view' +#姜雨菲: 自定义错误页面处理视图 +handler404 = 'blog.views.page_not_found_view' # 404页面未找到 +handler500 = 'blog.views.server_error_view' # 500服务器错误 +handle403 = 'blog.views.permission_denied_view' # 403权限拒绝 def health_check(request): """ 健康检查接口 - 简单返回服务健康状态 + 用于监控服务是否正常运行,简单返回服务健康状态和时间戳 """ return JsonResponse({ - 'status': 'healthy', - 'timestamp': time.time() + 'status': 'healthy', # 健康状态标识 + 'timestamp': time.time() # 当前时间戳 }) +# 基础URL配置(不包含国际化前缀) urlpatterns = [ - path('i18n/', include('django.conf.urls.i18n')), - path('health/', health_check, name='health_check'), + path('i18n/', include('django.conf.urls.i18n')), # 国际化配置入口 + path('health/', health_check, name='health_check'), # 健康检查接口 ] + +# 包含国际化前缀的URL配置(会自动添加语言代码前缀,如/en/、/zh-hans/) urlpatterns += i18n_patterns( - re_path(r'^admin/', admin_site.urls), - re_path(r'', include('blog.urls', namespace='blog')), - re_path(r'mdeditor/', include('mdeditor.urls')), - re_path(r'', include('comments.urls', namespace='comment')), - re_path(r'', include('accounts.urls', namespace='account')), - re_path(r'', include('oauth.urls', namespace='oauth')), + re_path(r'^admin/', admin_site.urls), # 自定义admin后台URL + re_path(r'', include('blog.urls', namespace='blog')), # 博客应用URL,命名空间blog + re_path(r'mdeditor/', include('mdeditor.urls')), # Markdown编辑器URL + re_path(r'', include('comments.urls', namespace='comment')), # 评论应用URL,命名空间comment + re_path(r'', include('accounts.urls', namespace='account')), # 账户应用URL,命名空间account + re_path(r'', include('oauth.urls', namespace='oauth')), # 第三方登录应用URL,命名空间oauth + # 站点地图XML re_path(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'), - re_path(r'^feed/$', DjangoBlogFeed()), - re_path(r'^rss/$', DjangoBlogFeed()), + re_path(r'^feed/$', DjangoBlogFeed()), # RSS订阅源URL + re_path(r'^rss/$', DjangoBlogFeed()), # 另一个RSS订阅源URL(与feed功能相同) + # 搜索功能URL,使用自定义的EsSearchView和搜索表单 re_path('^search', search_view_factory(view_class=EsSearchView, form_class=ElasticSearchModelSearchForm), name='search'), - re_path(r'', include('servermanager.urls', namespace='servermanager')), - re_path(r'', include('owntracks.urls', namespace='owntracks')) - , prefix_default_language=False) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) + re_path(r'', include('servermanager.urls', namespace='servermanager')), # 服务器管理应用URL + re_path(r'', include('owntracks.urls', namespace='owntracks')), # 位置追踪应用URL + prefix_default_language=False # 不为主语言添加前缀 +) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) # 静态文件URL配置 + +# 开发环境下添加媒体文件(用户上传文件)的URL配置 if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, - document_root=settings.MEDIA_ROOT) + document_root=settings.MEDIA_ROOT) \ No newline at end of file