1. 程式人生 > >Django部署專案-報錯

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檔案中的程式碼。