>  기사  >  백엔드 개발  >  Django URL에서 \'인클루드()의 경우 뷰는 호출 가능 또는 목록/튜플이어야 합니다\'라는 오류가 발생하는 이유는 무엇입니까?

Django URL에서 \'인클루드()의 경우 뷰는 호출 가능 또는 목록/튜플이어야 합니다\'라는 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-22 08:02:02766검색

Why am I getting a

Django URL TypeError: "include()의 경우 뷰는 호출 가능 또는 목록/튜플이어야 합니다."

원인:

Django 1.10부터 URL 패턴에서 뷰를 문자열(예: 'myapp.views.home')로 지정하는 것이 더 이상 허용되지 않습니다.

해결책 :

실제 뷰 호출 가능을 포함하도록 urls.py 파일을 업데이트하세요.

옵션 1: 개별적으로 뷰 가져오기 및 참조

<code class="python">from django.conf.urls import 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'),
]</code>

옵션 2: 보기 모듈 및 참조 보기 가져오기

<code class="python">from django.conf.urls import 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>

참고:

  • as를 사용하면 여러 보기에서 보기가 허용됩니다. 이름 충돌 없이 앱을 가져올 수 있습니다.
  • 가독성 향상 및 URL 역방향을 위해 URL 패턴 이름 지정을 고려하세요.
  • 자세한 내용은 Django URL 디스패처 설명서를 참조하세요.

위 내용은 Django URL에서 \'인클루드()의 경우 뷰는 호출 가능 또는 목록/튜플이어야 합니다\'라는 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.