首页 > 编程语言 >初学《python编程从入门到实践》web应用程序,出现错误

初学《python编程从入门到实践》web应用程序,出现错误

时间:2022-12-29 13:14:12浏览次数:47  
标签:web name python app 应用程序 django urls path include

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

但我改了还是出现问题,

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

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

 

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

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

他们都是用来配置路由的

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

  2.x:  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的名称')),
]

这样问题就解决啦!

标签:web,name,python,app,应用程序,django,urls,path,include
From: https://www.cnblogs.com/iceshadow/p/17012255.html

相关文章

  • Python 自定义label clicked
    classMyQLabel(QtWidgets.QLabel):#自定义信号,注意信号必须为类属性clicked=QtCore.pyqtSignal()def__init__(self,parent=None):super......
  • 【爬虫+数据分析+数据可视化】python数据分析全流程《2021胡润百富榜》榜单数据!
    目录一、爬虫1.1爬取目标1.2分析页面1.3爬虫代码1.4结果数据二、数据分析2.1导入库2.2数据概况2.3可视化分析2.3.1财富分布2.3.2年龄分布2.3.3公司总部分布2.3.4......
  • Python第十二章
    实例1:使用wx.StaticText输出Python之禅使用StaticText类输出中文版的Python之禅。具体代码如下:#_*-coding:utf-8_*_importwxclassMyFrame(wx.Frame):def__in......
  • Python第十一章
    实例1:创建SQLite数据库文件创建一个mrsoft.db的数据库文件,然后执行SQL语句可创建一个user(用户表),user表包含id和name两个字段。具体代码如下:importsqlite3#连接到S......
  • Python 2.7 十六进制字符数组 转 字符串 (字符是Unicode字符)
    有一串十六进制数据,是Uncode字符。importstructstrhex='003100310031'buf=strhex.decode("hex")value=u''slen=len(buf)/2si=0whilesi<slen:tmp=buf[si......
  • Python第八章
    实例01:创建计算BMi指数的模块创建一个用于根据身高、体重计算BMI指数的模块,命名为bmi.py,其中bmi为模块名,.py为扩展名deffun_bmi(person,height,weight):'''......
  • C# 与WEB 服务器通信
    与web服务器通信应先使用postman测试,确认服务器正常再写代码 发送UTF-8的json字符串usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSy......
  • KG4Py:Python代码知识图谱和语义搜索的工具包
    如何构建Python的代码知识图谱,又该如何进行搜索呢?现在的项目程序中存在着大量重复的代码片段,尤其是在软件开发的时候。在本文中,我们提出了一个工具包(KG4Py),用于在GitHub存储......
  • Python 强大的模式匹配工具—Pampy
      https://pypi.org/project/pampy/  santinic/pampy:Pampy:ThePatternMatchingforPythonyoualwaysdreamedof.(github.com) Allthethingsyouca......
  • 【一】python学习——编码及基础
    1、编码#!/usr/bin/python#-*-coding:UTF-8-*-2、文件#打开一个文件fo=open("foo.txt","w")print"文件名:",fo.name#关闭打开的文件fo.close()......