初学《python编程从入门到实践》web应用程序,出现错误
一开始是遇到了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应用程序,出现错误的更多相关文章
- Python编程-从入门到实践 Eric Matthes 著 袁国忠 译 - - 第二章 动手试一试
因为第一章的动手试一试基本都是探索性的,所以直接进入第二章. # 2.2 动手试一试 # 2_1 简单消息: 将一条消息存储到变量中,再将其打印出来. message = 'python 编程从入门到 ...
- 入门python:《Python编程从入门到实践》中文PDF+英文PDF+代码学习
入门python推荐学习久负盛名的python入门书籍<Python编程从入门到实践>. 书中涵盖的内容是比较精简的,没有艰深晦涩的概念,最重要的是每个小结都附带有"动手试一试& ...
- 设置应用程序的样式并对其进行部署——《Python编程从入门到实践》
我们将使用应用程序django-bootstrap3为Web应用程序设计样式.我们将把项目"学习笔记"部署到Heroku,这个网站能让我们们将项目推送到其服务器,让任何有网络连接的 ...
- 《Python编程:从入门到实践》分享下载
书籍信息 书名:<Python编程:从入门到实践> 原作名:Python Crash Course 作者: [美] 埃里克·马瑟斯 豆瓣评分:9.1分(2534人评价) 内容简介 本书是一 ...
- Python编程从入门到实践笔记——异常和存储数据
Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...
- Python编程从入门到实践笔记——文件
Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...
- Python编程从入门到实践笔记——类
Python编程从入门到实践笔记——类 #coding=gbk #Python编程从入门到实践笔记——类 #9.1创建和使用类 #1.创建Dog类 class Dog():#类名首字母大写 " ...
- Python编程从入门到实践笔记——函数
Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...
- Python编程从入门到实践笔记——用户输入和while循环
Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...
随机推荐
- TomCat之安装
TomCat 之安装(伪分布式版本) 本次安装是使用的伪分布式的安装(即一台机器安装两个tomcat) 1.通过scp导入tomcat安装包 2.解压缩成俩个文件 3.修改第一个tomcat的配置文件 ...
- 11.mixins混合类
一.混合类(mixins) 使用基于类的视图,最大的优势之一就创建可复用的代码 我们编写的非常类似的代码,可以抽象出来,将这部分代码放到mixin类系列中,然后作为父类提供子类继承使用 from ...
- 我的Vue之旅 09 数据数据库表的存储与获取实现 Mysql + Golang
第四期 · 将部分数据存储至Mysql,使用axios通过golang搭建的http服务器获取数据. 新建数据库 DROP DATABASE VUE; create database if not e ...
- 小菜鸡的学习笔记---<正则表达式(1)>
正则表达式学习笔记(1) (纯新手学习笔记,大佬绕路 QAQ) 一.简介 正则表达式就是一种文本模式用来匹配一系列满足特定条件的字符串,可以对比一下数学里面的表达式,比如我们要用一个表达式表示一串数字 ...
- 达梦-DBLINK数据库链接
aliases: [达梦 DBlink] tags: [数据库,DM,Blog] link: date: 2022-09-06 说明:DM-Oracle指的是在DM中创建链接至Oracle的Dblin ...
- 2022春每日一题:Day 33
题目:[USACO 6.1.3] Cow XOR 没找到这题具体网址,这个题就是求最大异或区间(总长度尽量小,右端点尽量大) 嗯很显然一个[l,r]的异或和=s[r]s[l-1],那么现在有了优秀的n ...
- 数据库可视化工具分享 (DBeaver)
前提:最近公司下发通知,所有开发人员 必须 卸载 Navicat 数据库可视化工具,不知道兄弟们有没有在使用的,可能现在的反应跟我一样,一脸懵逼,Navicat为什么不能使用呢? 有事没事找度娘,于是 ...
- linux下进程的实际用户ID(有效组)和有效用户ID(有效组ID)
实际用户ID(实际组ID):标识当前用户(所属组)是谁,当用户登陆时取自口令文件. 有效用户ID(有效组ID):用来决定我们(当前进程)对文件的访问权(即实际该进程的是以那个用户运行的). 一般情况下 ...
- 重学c#系列——动态类型[二十二]
前言 该系列准备继续完善,一共108篇,持续更新. 正文 为什么有动态类型呢? 是因为很多东西天生就是动态类型的. 比如xml 和 json.cvs.数据库表,这些本来就是数据类型的. 在反射系列中提 ...
- php + layui 文件上传 以及 拖拽上传
HTML: <div id="box"> <div id="drop_area">将文件拖拽到此区域</div> <d ...