Django部署專案-報錯
python-Django部署專案時-錯誤修改
錯誤出處:
python程式設計從入門到實踐—18.3 建立網頁
知識儲備:
使用Django在建立網頁時大致分為三個階段:定義URL,編寫檢視和編寫模板。當完成這三個步驟之後:開始以下執行程式碼操作
執行程式碼:python manage.py runserver 完美出現錯誤
錯誤如下(只複製了關鍵性的錯誤提示):
packages\django\urls\conf.py", line 27, in include
'provide the namespace argument to include() instead.' % len(arg)
django.core.exceptions.ImproperlyConfigured: Passing a 3-tuple to include() is not supported. Pass a 2-tuple containing the list of patterns and app_name, and provide the namespace argument to include() instead.
解決方案
1.
專案主檔案:learning_log
建立應用程式檔名:learning_logs
在learning_logs目錄下沒有urls.py這個檔案要我們自己建立。
urls.py中程式碼如下:
"""定義learning_logs的URL模式"""
from django.conf.urls import url
#from django.contrib.auth.views import login
from . import views
urlpatterns = [
# 主頁
url(r'^$', views.index, name='index' ),
]
app_name = "learning_logs"
關鍵點:app_name = “learning_logs”
書中沒有這一行程式碼原因可能和django2.0有關。
說明:learning_logs
執行命令:python manage.py startapp learning_logs
以此來建立應用程式,此時在我們的主資料夾(learning_log)下會多出一個名為learning_logs的資料夾。
2.
在專案主檔案(learning_log)下繼續會有一個已存在的learning_log資料夾:
已存在的learning_log資料夾下會有一個已知的urls.py 檔案,urls.py 中程式碼如下:
"""learning_log URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.conf.urls import include, url
from django.contrib import admin
#from django.urls import path
urlpatterns = [
#path('admin/', admin.site.urls),
url(r'^admin/', admin.site.urls),
url(r'', include('learning_logs.urls', namespace='learning_logs')),
]
#app_name = 'learning_logs'
3.
檢視專案:python manage.py runserver
4.
執行結果:
總結 :
將已存在的urls.py檔案和我們自己建立的urls.py 檔案的程式碼修改如上所示即可實現。
備註 :
其他工作都是在python從入門到實踐第18章的18.3完成,只需修改其中的兩個urls.py檔案中的程式碼。