TypeError: view must be a callable or a list/tuple in the case of include().


 

示例代码:

映射URL

打开项目主文件夹learning_log中的文件urls.py,我们需要包含learning_logs的URL:

from django.conf.urls import include, url
from django.contrib import admin
urlpatterns
= [   url(r'^admin/', include(admin.site.urls)),   url(r'', include('learning_logs.urls', namespace='learning_logs')), ]

练习中 django版本:3.0.3

实验中urls.py:

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',learning_logs.urls),
]

报错:

  File "D:\python_work\learning_log\learning_log\urls.py", line 22, in <module>
    path('',learning_logs.urls),
NameError: name 'learning_logs' is not defined

解决办法:

path('',’learning_logs.urls‘),

继续报错:

  File "D:\python_work\learning_log\learning_log\urls.py", line 22, in <module>
    path('','learning_logs.urls'),
  File "D:\python_work\learning_log\ll_env\lib\site-packages\django\urls\conf.py", line 73, in _path
    raise TypeError('view must be a callable or a list/tuple in the case of include().')
TypeError: view must be a callable or a list/tuple in the case of include().

查看path用法之一:

urls.py:13: 1. Import the include() function: from django.urls import include, path
urls.py:14: 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))


解决办法:

from django.contrib import admin
from django.urls import include,path

urlpatterns = [
    path('admin/', admin.site.urls),
    #path('',include('learning_logs.urls',namespace='learning_logs')),
    path('',include('learning_logs.urls')),
]

如果使用

namespace='learning_logs'

需要在应用文件夹learning_logs的urls.py中添加:
app_name = 'learning_logs'


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM