一开始是遇到了TemplateDoesNotExist的错误,上百度都是说改settings.py里面的TEMPLATE的DIRS,

但我改了还是出现问题,

我用的《python编程从入门到实践》这本书的出版时间是2016的,当时作者用的是django 1.x版本,而现在官方已更新成4.x版本。

就出现一些由于版本更新而导致的问题,我来分享一下我的解决方案。

书中和现在的差异主要是:

  Django放弃使用url函数,而改为path和re_path ,所以有些语法就有小改变

他们都是用来配置路由的

  1.x:  url是支持正则,也支持直接匹配

  新版:  path不支持 正则表达式,不过re_path是支持的

那我们就可以这样改:

你的app/urls.py

from django.urls import re_path
from . import views urlpatterns = [
# 主页
re_path(r'^$', views.index, name='index'),
]

将导入的path改为导入re_path,然后用re_path的语句,(index是我的主网页)

项目/urls.py

from django.contrib import admin
from django.urls import include, path urlpatterns = [
path('admin/', admin.site.urls),
path('', include(('APP名称.urls', 'APP名称'), namespace='APP的名称')),
]

这里要在include里面创建一个元组('XXX.urls', ‘XXX’)

如果不改的话 命令行就会提示

django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not
supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and
app_name instead.
翻译:
django.core.exceptions.不正确配置:
不支持在include()中指定命名空间而不提供app_name。
在包含的模块中设置app_name属性,或者传递一个包含模式列表和app_name的2次元组。

它告诉我们解决方法有两种;

  1、就是我在上面改法,在include里面传递一个元组

  2、在你的应用的urls.py文件里面设置一个 app_name属性

以下是另一种解决方案:

你的APP/urls.py

from django.urls import re_path
from . import views urlpatterns = [
# 主页
re_path(r'^$', views.index, name='index'),
]
app_name = '你的APP名称'

项目/urls.py

from django.contrib import admin
from django.urls import include, path urlpatterns = [
path('admin/', admin.site.urls),
path('', include('APP名称.urls', namespace='APP的名称')),
]

这样问题就解决啦!

初学《python编程从入门到实践》web应用程序,出现错误的更多相关文章

  1. Python编程-从入门到实践 Eric Matthes 著 袁国忠 译 - - 第二章 动手试一试

    因为第一章的动手试一试基本都是探索性的,所以直接进入第二章. # 2.2 动手试一试 # 2_1 简单消息: 将一条消息存储到变量中,再将其打印出来. message = 'python 编程从入门到 ...

  2. 入门python:《Python编程从入门到实践》中文PDF+英文PDF+代码学习

    入门python推荐学习久负盛名的python入门书籍<Python编程从入门到实践>. 书中涵盖的内容是比较精简的,没有艰深晦涩的概念,最重要的是每个小结都附带有"动手试一试& ...

  3. 设置应用程序的样式并对其进行部署——《Python编程从入门到实践》

    我们将使用应用程序django-bootstrap3为Web应用程序设计样式.我们将把项目"学习笔记"部署到Heroku,这个网站能让我们们将项目推送到其服务器,让任何有网络连接的 ...

  4. 《Python编程:从入门到实践》分享下载

    书籍信息 书名:<Python编程:从入门到实践> 原作名:Python Crash Course 作者: [美] 埃里克·马瑟斯 豆瓣评分:9.1分(2534人评价) 内容简介 本书是一 ...

  5. Python编程从入门到实践笔记——异常和存储数据

    Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...

  6. Python编程从入门到实践笔记——文件

    Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...

  7. Python编程从入门到实践笔记——类

    Python编程从入门到实践笔记——类 #coding=gbk #Python编程从入门到实践笔记——类 #9.1创建和使用类 #1.创建Dog类 class Dog():#类名首字母大写 " ...

  8. Python编程从入门到实践笔记——函数

    Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...

  9. Python编程从入门到实践笔记——用户输入和while循环

    Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...

随机推荐

  1. zookeeper之安装

    zookeeper之安装 一.准备条件 1.1 最低三个服务器(一主多从,1个leader,多个flower)1.2 将zookeeper安装包上传到集群并解压zookeeper 二.将conf目录下 ...

  2. 【JavaWeb】学习笔记——Servlet、Filter、Listenter

    Servlet Servlet 简介 Servlet 是 Java提供的一门动态web资源开发技术 Servlet 是JavaEE 规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Se ...

  3. C#--对上传的Excel文档的处理

    注:ToString对数值字符串的处理 string nID=555; nID.ToString("00000000");   ---00000555 var oFile = Re ...

  4. 题解 SP24 FCTRL2 - Small factorials

    双倍经验. 题意 给\(t\) 组数据,求每组数据中\(n\) 的阶乘. 思路 \(n≤100\) . \(100!\) 肯定爆int128,所以高精呗. 那么就是一个阶乘的板子了,应该不难的吧. 具 ...

  5. 类的编写模板之简单Java类

    简单Java类是初学java时的一个重要的类模型,一般由属性和getter.setter方法组成,该类不涉及复杂的逻辑运算,仅仅是作为数据的储存,同时该类一般都有明确的实物类型.如:定义一个雇员的类, ...

  6. Vue 实现小小记事本

    1.实现效果 用户输入后按回车,输入的内容自动保存,下方会显示记录的条数,鼠标移动到文字所在div上,会显示删除按钮,点击按钮,相应记录会被删除,下方的记录条数会相应变化,点击clear,所有记录会被 ...

  7. pycharm系列---django

    manage debug Python Console基本配置 DJANGO_SETTINGS_MODULE=mini_project.settings import sys import djang ...

  8. 基于 Sealos 的镜像构建能力,快速部署自定义 k8s 集群

    Sealos 是一个快速构建高可用 k8s 集群的命令行工具,该工具部署时会在第一个 k8s master 节点部署 registry 服务(sealos.hub),该域名通过 hosts 解析到第一 ...

  9. CAN总线数据链路层(一)

    1.通信机制 发送报文. 1.首先检测Bus状态,空闲 则发送 报文且回读         2.线与机制,若有两个节点同时发报文          报文结构:          通过ID进行仲裁(规则 ...

  10. 对于函数极限存在的充要条件“lim f(x)=A互推f(x)=A+a(x) lim a(x)=0”补充解释

    毫无疑问,这个定义适用于任何函数极限,诺f(x)有去间断点的时候,a(x)也为可去间断点函数. 例: