Fonctions utilitaires django.conf.urlsLien vers cette rubrique

patterns()Lien vers cette rubrique

patterns(prefix, pattern_description, ...)Lien vers cette définition

Une fonction acceptant un préfixe et un nombre arbitraire de motifs d’URL, et renvoyant une liste de motifs d’URL au format attendu par Django.

Le premier paramètre reçu par patterns() est un préfixe textuel. Voici l’exemple de configuration d’URL présenté dans Présentation de Django:

Code
from django.conf.urls import patterns, url

urlpatterns = patterns('',
    url(r'^articles/([0-9]{4})/$', 'news.views.year_archive'),
    url(r'^articles/([0-9]{4})/([0-9]{2})/$', 'news.views.month_archive'),
    url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', 'news.views.article_detail'),
)

Dans cet exemple, chaque vue a un préfixe commun – 'news.views'. Au lieu de le taper pour chaque élément de la variable urlpatterns, vous pouvez utiliser le premier paramètre de la fonction patterns() pour définir un préfixe à appliquer à chaque vue.

Avec ceci, l’exemple ci-dessus peut être écrit de façon plus concise :

Code
from django.conf.urls import patterns, url

urlpatterns = patterns('news.views',
    url(r'^articles/([0-9]{4})/$', 'year_archive'),
    url(r'^articles/([0-9]{4})/([0-9]{2})/$', 'month_archive'),
    url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', 'article_detail'),
)

Remarquez que l’on ne met pas de point (".") à la fin du préfixe. Django s’en charge automatiquement.

Les paramètres restants doivent être des tuples dans ce format :

Code
(regular expression, Python callback function [, optional_dictionary [, optional_name]])

Les paramètres optional_dictionary et optional_name sont décrits dans Transmission de paramètres supplémentaires à une vue.

static()Lien vers cette rubrique

static.static(prefix, view=django.views.static.serve, **kwargs)Lien vers cette définition

Fonction utilitaire qui renvoie un motif d’URL pour servir les fichiers en mode débogage :

Code
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()Lien vers cette rubrique

url(regex, view, kwargs=None, name=None, prefix='')Lien vers cette définition

urlpatterns doit être une liste d’instances url(). Par exemple :

Code
urlpatterns = [
    url(r'^index/$', index_view, name="main-view"),
    ...
]

Cette fonction accepte cinq paramètres, mais la plupart sont facultatifs :

Code
url(regex, view, kwargs=None, name=None, prefix='')

Le paramètre kwargs permet de transmettre des paramètres supplémentaires à la fonction ou méthode de vue. Voir Transmission de paramètres supplémentaires à une vue pour un exemple.

Voir Nommage des motifs d’URL pour connaître l’utilité du paramètre name.

include()Lien vers cette rubrique

include(module, namespace=None, app_name=None)Lien vers cette définition
include(pattern_list)
include((pattern_list, app_namespace), namespace=None)
include((pattern_list, app_namespace, instance_namespace))

Une fonction acceptant un chemin d’importation Python complet vers un autre module de configuration d’URL devant être « inclus » à cet endroit. Il est possible d’indiquer aussi l”espace de noms d’application et l”espace de noms d’instance dans lesquels les éléments seront inclus.

Habituellement, l’espace de noms d’application doit être défini par le module inclus. Si un espace de noms d’application est défini, le paramètre namespace peut être utilisé pour définir un espace de noms d’instance différent.

include() accepte aussi en paramètre soit un objet itérable renvoyant des motifs d’URL, un tuple binaire contenant l’objet itérable avec les noms des espaces de noms d’application, ou un tuple ternaire contenant un tel objet itérable accompagné des noms des espaces de noms d’application et d’instance.

Paramètres:
  • module – Module de configuration d’URL (ou nom de module)

  • namespace (string) – Espace de noms d’instance pour les lignes d’URL à inclure

  • app_name (string) – Espace de noms d’application pour les lignes d’URL à inclure

  • pattern_list – Liste d’instances django.conf.urls.url()

  • app_namespace (string) – Espace de noms d’application pour les lignes d’URL à inclure

  • instance_namespace (string) – Espace de noms d’instance pour les lignes d’URL à inclure

Voir Inclusion d’autres URLconfs et Espaces de noms d’URL et configurations d’URL incluses.

handler400Lien vers cette rubrique

handler400Lien vers cette définition

Un objet exécutable ou une chaîne représentant le chemin d’importation Python complet vers la vue devant être appelée si le client HTTP a envoyé une requête qui a provoqué une condition d’erreur et une réponse avec un code de statut 400.

Par défaut, il s’agit de 'django.views.defaults.bad_request'. Si vous implémentez une vue personnalisée, prenez soin de renvoyer une réponse HttpResponseBadRequest.

Consultez la documentation à propos de la vue 400 (mauvaise requête) pour plus d’informations.

handler403Lien vers cette rubrique

handler403Lien vers cette définition

Un objet exécutable ou une chaîne représentant le chemin d’importation Python complet vers la vue devant être appelée si l’utilisateur n’a pas les droits nécessaires pour accéder à une ressource.

Par défaut, il s’agit de 'django.views.defaults.permission_denied'. Si vous implémentez une vue personnalisée, prenez soin de renvoyer une réponse HttpResponseForbidden.

Consultez la documentation à propos de la vue 403 (HTTP interdit) pour plus d’informations.

handler404Lien vers cette rubrique

handler404Lien vers cette définition

Un objet exécutable ou une chaîne représentant le chemin d’importation Python complet vers la vue devant être appelée si aucun des motifs d’URL ne correspond.

Par défaut, il s’agit de 'django.views.defaults.page_not_found'. Si vous implémentez une vue personnalisée, prenez soin de renvoyer une réponse HttpResponseNotFound.

Consultez la documentation à propos de la vue 404 (HTTP non trouvé) pour plus d’informations.

handler500Lien vers cette rubrique

handler500Lien vers cette définition

Un objet exécutable ou une chaîne représentant le chemin d’importation Python complet vers la vue devant être appelée en cas d’erreur de serveur. Les erreurs de serveur se produisent lorsque des erreurs d’exécution apparaissent dans le code des vues.

Par défaut, il s’agit de 'django.views.defaults.server_error'. Si vous implémentez une vue personnalisée, prenez soin de renvoyer une réponse HttpResponseServerError.

Consultez la documentation à propos de la vue 500 (HTTP erreur interne de serveur) pour plus d’informations.