le paramètre d'URL de python inclut la fonction

Que fait réellement inclure dans les paramètres d'URL?

Vous pouvez utiliser include () pour extraire le paramètre PATH, mais que faites-vous réellement?

(référence) mysite/urls.py

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

Texte original dans la fonction réelle

def include(arg, namespace=None):
    app_name = None
    if isinstance(arg, tuple):
        # Callable returning a namespace hint.
        try:
            urlconf_module, app_name = arg
        except ValueError:
            if namespace:
                raise ImproperlyConfigured(
                    'Cannot override the namespace for a dynamic module that '
                    'provides a namespace.'
                )
            raise ImproperlyConfigured(
                'Passing a %d-tuple to include() is not supported. Pass a '
                '2-tuple containing the list of patterns and app_name, and '
                'provide the namespace argument to include() instead.' % len(arg)
            )
    else:
        # No namespace hint - use manually provided namespace.
        urlconf_module = arg

    if isinstance(urlconf_module, str):
        urlconf_module = import_module(urlconf_module)
    patterns = getattr(urlconf_module, 'urlpatterns', urlconf_module)
    app_name = getattr(urlconf_module, 'app_name', app_name)
    if namespace and not app_name:
        raise ImproperlyConfigured(
            'Specifying a namespace in include() without providing an app_name '
            'is not supported. Set the app_name attribute in the included '
            'module, or pass a 2-tuple containing the list of patterns and '
            'app_name instead.',
        )
    namespace = namespace or app_name
    # Make sure the patterns can be iterated through (without this, some
    # testcases will break).
    if isinstance(patterns, (list, tuple)):
        for url_pattern in patterns:
            pattern = getattr(url_pattern, 'pattern', None)
            if isinstance(pattern, LocalePrefixPattern):
                raise ImproperlyConfigured(
                    'Using i18n_patterns in an included URLconf is not allowed.'
                )
    return (urlconf_module, app_name, namespace)

Recommended Posts

le paramètre d'URL de python inclut la fonction
fonction python ①
[Python] fonction
fonction python ②
fonction d'énumération python
Python> fonction> Fermeture
[Python] Fonction de générateur
Python> fonction> Fonction interne
Décorateur de fonction Python
À propos des arguments de fonction (python)
Temps d'exécution de la fonction (Python)
Résumé des arguments de la fonction Python
Fonction d'impression Python (suite)
Python: à propos des arguments de fonction
Raccourcissement d'URL avec Python
Fonction de plancher de temps (Python)
python Paramètre japonais respectueux de l'environnement
Créer une fonction en Python
Utiliser la fonction de rappel en Python
Paramétrage par le configurateur python
[python] Valeur de l'objet fonction (?)
Fonction ntile (décile) en python
[Python] L'origine du nom de la fonction python
fonction de mémorandum python pour débutant
À propos de la fonction enumerate (python)
Python #function 2 pour les super débutants
Modélisation de fonctions non linéaires en Python
Dessiner la fonction Yin en python
Exemple de fonctions d'ordre supérieur (décorateurs) en Python
Fonction immédiate (lie) en python
Traitement des URL relatives en python
[Python] Qu'est-ce qu'une fonction zip?
[python] Fonction de rappel (passez la fonction en argument)
Implémenter la fonction power.prop.test de R en python
Définition du type d'argument de fonction en python
Notation inclusive dans l'argument de la fonction Python
[Automatisé avec python! ] Partie 1: fichier de configuration
Ecrire une fonction AWS Lambda en Python
Mesurer le temps d'exécution de la fonction en Python
[Python] Faire de la fonction une fonction lambda
Mémo de configuration de l'environnement de développement Vim + Python
Fonction Python #len pour les super débutants
Synthèse de fonctions et application en Python
Comment utiliser la fonction zip de python
[Python] Différence entre fonction et méthode
[Python] Arguments de fonction * (étoile) et ** (étoile double)
[OpenCV; Python] Résumé de la fonction findcontours