Skip to main content

django.conf.urls 实用函数

static()

static.static(prefix, view=django.views.static.serve, **kwargs)

帮助函数返回在调试模式下提供文件的URL模式:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

url()

url(regex, view, kwargs=None, name=None)[源代码]

urlpatterns 应该是 url() 实例的列表。例如:

from django.conf.urls import include, url

urlpatterns = [
    url(r'^index/$', index_view, name='main-view'),
    url(r'^weblog/', include('blog.urls')),
    ...
]

regex 参数应该是包含与Python的 re 模块兼容的正则表达式的字符串或 ugettext_lazy() (请参阅 翻译网址格式)。字符串通常使用原始字符串语法(r''),以便它们可以包含序列,如 \d,而不需要使用另一个反斜杠转义反斜杠。

view 参数是视图函数或基于类的视图的 as_view() 的结果。它也可以是 include()

kwargs 参数允许您将其他参数传递给视图函数或方法。参见 传递额外选项以查看函数 的示例。

请参阅 命名网址格式,了解为什么 name 参数有用。

include()

include(module, namespace=None, app_name=None)[源代码]
include(pattern_list)
include((pattern_list, app_namespace), namespace=None)
include((pattern_list, app_namespace, instance_namespace))

一个函数需要一个完整的Python导入路径到另一个URLconf模块,应该“包括”在这个地方。可选地,还可以指定将包括条目的 application namespaceinstance namespace

通常,应用程序命名空间应由包含的模块指定。如果设置了应用程序命名空间,则 namespace 参数可用于设置不同的实例命名空间。

include() 还接受一个参数,一个返回URL模式的迭代,一个包含这种迭代的2元组加上应用程序名称空间的名称,或者一个包含iterable和应用程序和实例名称空间名称的3元组。

参数:
  • module – URLconf模块(或模块名称)
  • namespace (string) – 包括的URL条目的实例命名空间
  • app_name (string) – 包括的URL条目的应用程序命名空间
  • pattern_list – 可迭代的 django.conf.urls.url() 实例
  • app_namespace (string) – 包括的URL条目的应用程序命名空间
  • instance_namespace (string) – 包括的URL条目的实例命名空间

包括其他URLconfsURL名称空间和包括的URLconfs

1.9 版后已移除: 支持 app_name 参数已弃用,并将在Django 2.0中删除。按照 URL名称空间和包括的URLconfs 中的说明指定 app_name

支持传递3元组也被弃用,并将在Django 2.0中删除。传递包含模式列表和应用程序命名空间的2元组,并使用 namespace 参数。

最后,支持没有应用程序命名空间的实例命名空间已被弃用,并将在Django 2.0中删除。指定应用程序命名空间或删除实例命名空间。

handler400

handler400

如果HTTP客户端已发送导致错误条件的请求和状态代码为400的响应,则应调用的可调用或表示视图的完整Python导入路径的字符串。

默认情况下,这是 'django.views.defaults.bad_request'。如果实现自定义视图,请确保返回 HttpResponseBadRequest

有关更多信息,请参阅有关 400(错误请求)视图 的文档。

handler403

handler403

一个callable或一个字符串,表示如果用户没有访问资源所需的权限,应调用的视图的完整Python导入路径。

默认情况下,这是 'django.views.defaults.permission_denied'。如果实现自定义视图,请确保返回 HttpResponseForbidden

有关更多信息,请参阅有关 403(HTTP禁止)视图 的文档。

handler404

handler404

一个callable或一个字符串,表示如果没有URL模式匹配,应该调用的视图的完整Python导入路径。

默认情况下,这是 'django.views.defaults.page_not_found'。如果实现自定义视图,请确保返回 HttpResponseNotFound

有关更多信息,请参阅有关 404(HTTP未找到)视图 的文档。

handler500

handler500

一个可调用的或一个字符串,表示在服务器错误时应调用的视图的完整Python导入路径。当视图代码中存在运行时错误时,会发生服务器错误。

默认情况下,这是 'django.views.defaults.server_error'。如果实现自定义视图,请确保返回 HttpResponseServerError

有关更多信息,请参阅有关 500(HTTP内部服务器错误)视图 的文档。