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文件中的代码。