ホームページ >バックエンド開発 >Python チュートリアル >Django 1.10 で「TypeError: ビューは呼び出し可能である必要があります」を修正する方法?
TypeError: include() の場合、ビューは呼び出し可能かリスト/タプルである必要があります
このエラーは、ビューが次の場合に発生します。 Django 1.10 にアップグレードした後、URL パターンの文字列として指定されます。 Django 1.10 では、ビューを呼び出し可能として指定する必要があります。
解決策:
このエラーを解決するには、urls.py を更新して呼び出し可能なビューを含めます。
単一ビューのインポート:
urls.py に個別のビューをインポートし、関数参照として指定します:
<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>
複数ビューのインポート:
各ビューを個別にインポートしないようにするには、アプリからビュー モジュール全体をインポートできます:
<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>
「as」キーワードを使用します:
異なるアプリから複数のビュー モジュールをインポートするときに名前の競合を防ぐには、「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>
以上がDjango 1.10 で「TypeError: ビューは呼び出し可能である必要があります」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。