Django URL パターン: TypeError について: view は呼び出し可能でなければなりません
Django バージョン 1.10 以降では、次の場合に特定のエラー メッセージが表示されることがあります。 URL パターンの定義: TypeError: view は呼び出し可能か、include() の場合はリスト/タプルである必要があります。このエラーは、以前の Django バージョンで一般的に使用されていた URL パターン内の文字列としてビューを指定しようとすると発生します。
解決策:
このエラーを解決するには、次の手順を実行します。 urls.py を更新して実際の呼び出し可能なビューを含める必要があります。これには、urls.py ファイル内にビューをインポートする必要があります。例:
from django.conf.urls import include, url from django.contrib.auth.views import login from myapp.views import home, contact urlpatterns = [ url(r'^$', home, name='home'), url(r'^contact/$', contact, name='contact'), url(r'^login/$', login, name='login'), ]
代替解決策:
多数のビューがある場合、それらを個別にインポートするのは不便になる可能性があります。別のアプローチは、アプリからビュー モジュールをインポートすることです。
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'), ]
myapp_views や auth_views などのエイリアスを使用すると、複数のアプリからビューをインポートするときにビュー名の衝突を防ぐことができます。
追加情報:
URL ディスパッチ パターンのより包括的な情報については、Django URL ディスパッチャの公式ドキュメントを参照してください:
[Django URL ディスパッチャ ドキュメント](https://docs.djangoproject. com/ja/stable/topics/http/urls/)
以上がDjango の TypeError を解決する方法: ビューは URL パターンで呼び出し可能である必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。