Update urls.py

hjn_branch
plqo32bax 3 months ago
parent 5cdbb5843f
commit d76912faaa

@ -1,64 +1,106 @@
"""djangoblog URL Configuration
"""
djangoblog URL Configuration
URL配置是Django网站的目录本质是URL与视图函数之间的映射表
通过此文件告诉Django对于哪个URL调用哪段代码
The `urlpatterns` list routes URLs to views. For more information please see:
配置说明文档
https://docs.djangoproject.com/en/1.10/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
示例
函数视图
1. 导入视图from my_app import views
2. 添加URL模式url(r'^$', views.home, name='home')
基于类的视图
1. 导入视图from other_app.views import Home
2. 添加URL模式url(r'^$', Home.as_view(), name='home')
包含其他URL配置
1. 导入include函数from django.conf.urls import url, include
2. 添加URL模式url(r'^blog/', include('blog.urls'))
"""
from django.conf import settings
from django.conf.urls.i18n import i18n_patterns
from django.conf.urls.static import static
from django.contrib.sitemaps.views import sitemap
from django.conf.urls.i18n import i18n_patterns # 国际化URL模式支持
from django.conf.urls.static import static # 静态文件服务
from django.contrib.sitemaps.views import sitemap # 站点地图视图
from django.urls import path, include
from django.urls import re_path
from haystack.views import search_view_factory
from django.urls import re_path # 正则表达式URL匹配
from haystack.views import search_view_factory # Haystack搜索视图工厂
# 导入自定义模块
from blog.views import EsSearchView
from djangoblog.admin_site import admin_site
from djangoblog.admin_site import admin_site # 自定义admin站点
from djangoblog.elasticsearch_backend import ElasticSearchModelSearchForm
from djangoblog.feeds import DjangoBlogFeed
from djangoblog.feeds import DjangoBlogFeed # RSS订阅源
from djangoblog.sitemap import ArticleSiteMap, CategorySiteMap, StaticViewSitemap, TagSiteMap, UserSiteMap
# 站点地图配置字典,定义不同类型的站点地图[1,3](@ref)
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'
# 自定义错误处理视图[2](@ref)
handler404 = 'blog.views.page_not_found_view' # 404页面未找到处理
handler500 = 'blog.views.server_error_view' # 500服务器错误处理
handle403 = 'blog.views.permission_denied_view' # 403权限拒绝处理
# 基础URL模式配置
urlpatterns = [
# 国际化URL支持提供语言切换功能[7,8](@ref)
path('i18n/', include('django.conf.urls.i18n')),
]
# 使用i18n_patterns为URL添加语言前缀支持国际化[6,7](@ref)
urlpatterns += i18n_patterns(
# 管理员后台URL使用自定义的admin_site[4](@ref)
re_path(r'^admin/', admin_site.urls),
# 博客应用URL包含博客相关所有路由[1,4](@ref)
re_path(r'', include('blog.urls', namespace='blog')),
# Markdown编辑器URL[4](@ref)
re_path(r'mdeditor/', include('mdeditor.urls')),
# 评论系统URL[4](@ref)
re_path(r'', include('comments.urls', namespace='comment')),
# 用户账户URL[4](@ref)
re_path(r'', include('accounts.urls', namespace='account')),
# OAuth认证URL[4](@ref)
re_path(r'', include('oauth.urls', namespace='oauth')),
# 站点地图XML文件URL[1](@ref)
re_path(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'),
# RSS订阅源URLfeed和rss两个端点[1](@ref)
re_path(r'^feed/$', DjangoBlogFeed()),
re_path(r'^rss/$', DjangoBlogFeed()),
# 搜索功能URL使用ElasticSearch作为后端[4](@ref)
re_path('^search', search_view_factory(view_class=EsSearchView, form_class=ElasticSearchModelSearchForm),
name='search'),
# 服务器管理URL[4](@ref)
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)
# OwnTracks位置跟踪URL[4](@ref)
re_path(r'', include('owntracks.urls', namespace='owntracks')),
# 不强制为默认语言添加前缀[6,7](@ref)
prefix_default_language=False
)
# 静态文件服务配置(开发环境)[2](@ref)
+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
# 开发环境下媒体文件服务配置[2](@ref)
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
document_root=settings.MEDIA_ROOT)
Loading…
Cancel
Save