Maison > développement back-end > Tutoriel Python > Comment corriger \'TypeError : la vue doit être appelable\' dans Django 1.10 ?

Comment corriger \'TypeError : la vue doit être appelable\' dans Django 1.10 ?

Linda Hamilton
Libérer: 2024-10-22 08:06:17
original
1118 Les gens l'ont consulté

How to Fix

TypeError : la vue doit être un appelable ou une liste/tuple dans le cas de include()

Cette erreur se produit lorsque les vues sont spécifiés sous forme de chaînes dans les modèles d'URL après la mise à niveau vers Django 1.10. Django 1.10 nécessite que les vues soient spécifiées comme appelables.

Solution :

Pour résoudre cette erreur, mettez à jour votre urls.py pour inclure la vue appelable.

Importation de vue unique :

Importez la vue individuelle dans votre urls.py et spécifiez-la comme référence de fonction :

<code class="python">from django.conf.urls import include, url
from myapp.views import home, contact

urlpatterns = [
    url(r'^$', home, name='home'),
    url(r'^contact/$', contact, name='contact'),
]</code>
Copier après la connexion

Importation de vues multiples :

Pour éviter d'importer chaque vue individuellement, vous pouvez importer l'intégralité du module de vues depuis votre application :

<code class="python">from django.conf.urls import include, url
from myapp import views as myapp_views

urlpatterns = [
    url(r'^$', myapp_views.home, name='home'),
    url(r'^contact/$', myapp_views.contact, name='contact'),
]</code>
Copier après la connexion

En utilisant le mot-clé "as" :

Pour éviter les conflits de noms lors de l'importation de plusieurs modules de vues à partir de différentes applications, utilisez le mot-clé "as" :

<code class="python">from django.conf.urls import include, url
from django.contrib.auth import views as auth_views
from myapp import views as myapp_views

urlpatterns = [
    url(r'^$', myapp_views.home, name='home'),
    url(r'^contact/$', myapp_views.contact, name='contact'),
    url(r'^login/$', auth_views.login, name='login'),
]</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal