from django.urls import include, re_path
re_path(route, view, kwargs=None, name=None)
routeargument should be a string or
gettext_lazy()(see Translating URL patterns) that contains a regular expression compatible with Python’s
remodule. Strings typically use raw string syntax (r'') so that they can contain sequences like \d without the need to escape the backslash with another backslash. When a match is made, captured groups from the regular expression are passed to the view – as named arguments if the groups are named, and as positional arguments otherwise. The values are passed as strings, without any type conversion.
viewargument is a view function or the result of
as_view()for class-based views. It can also be an
kwargsargument allows you to pass additional arguments to the view function or method. See Passing extra options to view functions for an example.
nameargument is useful.
In order to perform URL reversing, you’ll need to use named URL patterns. The string used for the URL name can contain any characters you like. You are not restricted to valid Python names.
When naming URL patterns, choose names that are unlikely to clash with other applications’ choice of names. If you call your URL pattern
comment and another application does the same thing, the URL that
reverse() finds depends on whichever pattern is last in your project’s
Putting a prefix on your URL names, perhaps derived from the application name (such as myapp-comment instead of comment), decreases the chance of collision.
You can deliberately choose the same URL name as another application if you want to override a view. For example, a common use case is to override the
LoginView. Parts of Django and most third-party apps assume that this view has a URL pattern with the name
login. If you have a custom login view and give its URL the name
login, reverse() will find your custom view as long as it’s in
django.contrib.auth.urls is included (if that’s included at all).
You may also use the same name for multiple URL patterns if they differ in their arguments. In addition to the URL name,
reverse() matches the number of arguments and the names of the keyword arguments.(in addition to: 除了...)
include((pattern_list, app_namespace), namespace=None)
include function that takes a full Python
import path to another
URLconf module that should be “included” in this place.
Usually, the application namespace should be specified by the included module. If an application namespace is set, the
namespace argument can be used to set a different instance namespace.
include() also accepts as an argument either an iterable that returns URL patterns or a 2-tuple containing such iterable plus the names of the application namespaces.