123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- ======================================
- ``django.conf.urls`` utility functions
- ======================================
- .. module:: django.conf.urls
- ``static()``
- ============
- .. function:: static.static(prefix, view=django.views.static.serve, **kwargs)
- Helper function to return a URL pattern for serving files in debug mode::
- 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()``
- =========
- .. function:: url(regex, view, kwargs=None, name=None)
- ``urlpatterns`` should be a list of ``url()`` instances. For example::
- from django.conf.urls import include, url
- urlpatterns = [
- url(r'^index/$', index_view, name='main-view'),
- url(r'^weblog/', include('blog.urls')),
- ...
- ]
- The ``regex`` parameter should be a string or
- :func:`~django.utils.translation.gettext_lazy()` (see
- :ref:`translating-urlpatterns`) that contains a regular expression compatible
- with Python's :py:mod:`re` module. 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.
- The ``view`` parameter is a view function or the result of
- :meth:`~django.views.generic.base.View.as_view` for class-based views. It can
- also be an :func:`include`.
- The ``kwargs`` parameter allows you to pass additional arguments to the view
- function or method. See :ref:`views-extra-options` for an example.
- See :ref:`Naming URL patterns <naming-url-patterns>` for why the ``name``
- parameter is useful.
- ``include()``
- =============
- .. function:: include(module, namespace=None)
- include(pattern_list)
- include((pattern_list, app_namespace), namespace=None)
- A function that takes a full Python import path to another URLconf module
- that should be "included" in this place. Optionally, the :term:`application
- namespace` and :term:`instance namespace` where the entries will be included
- into can also be specified.
- 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.
- :arg module: URLconf module (or module name)
- :arg namespace: Instance namespace for the URL entries being included
- :type namespace: string
- :arg pattern_list: Iterable of :func:`django.conf.urls.url` instances
- :arg app_namespace: Application namespace for the URL entries being included
- :type app_namespace: string
- :arg instance_namespace: Instance namespace for the URL entries being included
- :type instance_namespace: string
- See :ref:`including-other-urlconfs` and :ref:`namespaces-and-include`.
- ``handler400``
- ==============
- .. data:: handler400
- A callable, or a string representing the full Python import path to the view
- that should be called if the HTTP client has sent a request that caused an error
- condition and a response with a status code of 400.
- By default, this is :func:`django.views.defaults.bad_request`. If you
- implement a custom view, be sure it returns an
- :class:`~django.http.HttpResponseBadRequest`.
- ``handler403``
- ==============
- .. data:: handler403
- A callable, or a string representing the full Python import path to the view
- that should be called if the user doesn't have the permissions required to
- access a resource.
- By default, this is :func:`django.views.defaults.permission_denied`. If you
- implement a custom view, be sure it returns an
- :class:`~django.http.HttpResponseForbidden`.
- ``handler404``
- ==============
- .. data:: handler404
- A callable, or a string representing the full Python import path to the view
- that should be called if none of the URL patterns match.
- By default, this is :func:`django.views.defaults.page_not_found`. If you
- implement a custom view, be sure it returns an
- :class:`~django.http.HttpResponseNotFound`.
- ``handler500``
- ==============
- .. data:: handler500
- A callable, or a string representing the full Python import path to the view
- that should be called in case of server errors. Server errors happen when you
- have runtime errors in view code.
- By default, this is :func:`django.views.defaults.server_error`. If you
- implement a custom view, be sure it returns an
- :class:`~django.http.HttpResponseServerError`.
|