Django URL 패턴: TypeError 이해: 뷰는 호출 가능해야 합니다
Django 버전 1.10 이상의 경우 다음과 같은 경우 특정 오류 메시지가 발생할 수 있습니다. URL 패턴 정의: TypeError: 뷰는 호출 가능 항목이거나 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/en/stable/topics/http/urls/)
위 내용은 Django의 TypeError를 해결하는 방법: 뷰는 URL 패턴에서 호출 가능해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!