django.urls
用于urlconfs的函数¶path()
¶返回要包含在中的元素 urlpatterns
. 例如::
from django.urls import include, path
urlpatterns = [
path("index/", views.index, name="main-view"),
path("bio/<username>/", views.bio, name="bio"),
path("articles/<slug:title>/", views.article, name="article-detail"),
path("articles/<slug:title>/<int:section>/", views.section, name="article-section"),
path("blog/", include("blog.urls")),
...,
]
这个 route
参数应为字符串或 gettext_lazy()
(见 转换URL模式 )包含URL模式的。字符串可以包含尖括号(如 <username>
上面)捕获部分URL并将其作为关键字参数发送到视图。角托架可包括转换器规格(如 int
部分 <int:section>
)它限制匹配的字符,还可以更改传递给视图的变量的类型。例如, <int:section>
匹配十进制数字的字符串并将值转换为 int
. 见 Django如何处理请求 了解更多详细信息。
这个 view
参数是视图函数或 as_view()
用于基于类的视图。它也可以是 django.urls.include()
.
这个 kwargs
参数允许您将其他参数传递给视图函数或方法。见 传递额外的选项以查看函数 举个例子。
见 Naming URL patterns 为什么 name
参数是有用的。
re_path()
¶返回要包含在中的元素 urlpatterns
. 例如::
from django.urls import include, re_path
urlpatterns = [
re_path(r"^index/$", views.index, name="index"),
re_path(r"^bio/(?P<username>\w+)/$", views.bio, name="bio"),
re_path(r"^blog/", include("blog.urls")),
...,
]
这个 route
参数应为字符串或 gettext_lazy()
(见 转换URL模式 )它包含一个与python兼容的正则表达式 re
模块。字符串通常使用原始字符串语法 (r''
)这样它们就可以包含像 \d
不需要用另一个反斜杠来摆脱反斜杠。匹配后,从正则表达式中捕获的组将传递给视图——如果组已命名,则作为命名参数,否则作为位置参数。这些值作为字符串传递,不进行任何类型转换。
当一个 route
结尾为 $
整个请求的URL,与 path_info
必须与正则表达式模式匹配 (re.fullmatch()
是使用的)。
这个 view
, kwargs
和 name
参数与for相同 path()
.
include()
¶将完整的python导入路径带到另一个urlconf模块的函数,该模块应在此位置“包含”。可选地, application namespace 和 instance namespace 也可以指定将包含在其中的条目。
通常,应用程序命名空间应由包含的模块指定。如果设置了应用程序命名空间,则 namespace
参数可用于设置其他实例命名空间。
include()
还接受返回URL模式的iterable或包含此类iterable和应用程序命名空间名称的2元组作为参数。
register_converter()
¶用于注册转换器的函数。 path()
route
S
这个 converter
参数是转换器类,并且 type_name
是要在路径模式中使用的转换器名称。见 注册自定义路径转换器 举个例子。
自 5.1 版本弃用: 不建议覆盖现有转换器。
django.conf.urls
用于urlconfs的函数¶static()
¶helper函数返回用于在调试模式下提供文件的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)
handler400
¶一个可调用的,或一个表示视图的完整python导入路径的字符串,如果HTTP客户端发送了一个导致错误条件和状态代码为400的响应的请求,则应调用该路径。
默认情况下,这是 django.views.defaults.bad_request()
. 如果实现自定义视图,请确保它接受 request
和 exception
参数并返回 HttpResponseBadRequest
.
handler403
¶一个可调用的,或一个表示视图的完整python导入路径的字符串,如果用户没有访问资源所需的权限,则应调用该路径。
默认情况下,这是 django.views.defaults.permission_denied()
. 如果实现自定义视图,请确保它接受 request
和 exception
参数并返回 HttpResponseForbidden
.
handler404
¶一个可调用的,或一个表示视图的完整python导入路径的字符串,如果没有匹配的URL模式,则应调用该路径。
默认情况下,这是 django.views.defaults.page_not_found()
. 如果实现自定义视图,请确保它接受 request
和 exception
参数并返回 HttpResponseNotFound
.
handler500
¶可调用的,或表示视图的完整python导入路径的字符串,在服务器出错时应调用该路径。当视图代码中有运行时错误时,会发生服务器错误。
系统默认 django.views.defaults.server_error()
.如果实现自定义视图,请确保它接受 request
参数并返回 HttpResponseServerError
。
7月 22, 2024