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