python--Django映射URL报错

Django映射URL报错

系统:ubuntu16.04 x64
Django:2.1
python:3.5


报错信息很长,有效的基本是下面这些:

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.
这里写图片描述

问题原因:

猜测是Django的版本问题导致的。
激活虚拟环境后可以查看Django的版本,指令为:python -m django --version

解决方法:

1.换低版本的Django,1.11版本的应该不存在这个问题,不过不推荐,因为那样一切都要重新开始!
2.修改文件内容,步骤如下。
我的项目目录如下:
这里写图片描述
首先修改learning_log的下的urls.py文件,书上的内容如下:
这里写图片描述
修改之后的代码如下:

from django.conf.urls import include, url 
from django.contrib import admin

urlpatterns = [ 
    url(r'^admin/', admin.site.urls),
    url(r'', include('learning_app.urls', namespace='learning_app')),
]

接下来,更改learning_app(书上的名称叫做learning_logs)下的urls.py。
这里写图片描述

修改之后的代码如下:

"""定义learning_app的URL模式"""
from django.conf.urls import url 
from . import views
urlpatterns = [ 
     # 主页
     url(r'^$', views.index, name='index'),
]

app_name = 'learning_app'

结果:

这个时候就可以运行服务器,在浏览器中输入地址就可以成功访问了!
这里写图片描述


参考网址:

猜你喜欢

转载自blog.csdn.net/Meteor_s/article/details/81750108