剛開始學django,創建的第一個web工程無法啟動,后來發現是由於教程是針對較低版本的Django,我用的是Django2.X和Python3.7,urls文件設置方法和舊版本不一致,按照之前的版本設置,報錯信息為TypeError: view must be a callable or a list/tuple in the case of include().。
默認的urls文件配置:
from django.conf.urls import url
urlpatterns = [
path('admin/', admin.site.urls),
]
需要修改的地方如下:
1.將path改成url,之前一直以為報錯是需要導入path的包,導入了幾次也不運行,后來發現要把path改成url
from django.conf.urls import url
urlpatterns = [
url('admin/', admin.site.urls),
]
2.加上自己定義的url地址,我的應用名稱是blog,也就是用startapp命令創建的文件夾叫做blog,之前版本的寫法是url(r'^blog/index/$', 'bolg.views.index'),2.0版本中views的用法發生了變化,不用括起來,直接使用views.index,其中index是我在views.py文件中定義的訪問函數,直接替換成你自己定義的函數即可。
from django.conf.urls import url
urlpatterns = [
url('admin/', admin.site.urls),
url(r'^blog/index/$',views.index),
]
3.改完以上2步還是無法運行,為啥?因為用到了admin和views的包沒有導入,所以需要導入這2個包,完整的寫法如下:
from django.conf.urls import url
from django.contrib import admin
from blog import views
urlpatterns = [
url('admin/', admin.site.urls),
url(r'^blog/index/$',views.index),
]
以上,即可啟動blog這個應用了。