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:
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 :
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 :
(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 :
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 :
urlpatterns = [
url(r'^index/$', index_view, name="main-view"),
...
]
Cette fonction accepte cinq paramètres, mais la plupart sont facultatifs :
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
namespacepeut ê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.