Django 1.10以上版本 url 配置注意事项详解

yipeiwu_com5年前Python基础

在改造旧版本django cms程序从 pyton2.7, django 1.8版本升到 python 3.5,django 1.11版本的时候,原以为会非常轻松,却不想在URL配置上就卡住了我一会。在djang 1.10版本之后,url.py 里面的配置发生了变化,我记得以前我记录过,但过了一段时间自己却忘记了。

django 1.10之后,在url.py 中配置view的方法,最好采用as 方式了,否则会报如下错误。打个比方:

from appcms.modules import photos
....
urlpatterns += [
  url(r'^photos/$', photos.views.photolist, name = "photolist"),    
] 

这个时候,会报这种错误:

File "D:\Work\Java\newEclipse\eclipse\springboot\djangocms\appcms\urls.py", line 56, in <module>
  url(r'^photos/$', photos.views.photolist, name = "photolist"),  
AttributeError: module 'appcms.modules.photos' has no attribute 'views'

其原因就是配置错了。

正确的方式应该如下:

from appcms.modules.photos import views as photos_views
...
urlpatterns += [
  url(r'^photos/$', photos_views.photolist, name = "photolist"), 
]  

这样就对了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python解析json文件相关知识学习

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition -...

python数据化运营的重要意义

python数据化运营 数据化运营的核心是运营,所有数据工作都是围绕运营工作链条展开的,逐步强化数据对于运营工作的驱动作用。数据化运营的价值体现在对运营的辅助、提升和优化上,甚至某些运营...

python matplotlib画图实例代码分享

python matplotlib画图实例代码分享

python的matplotlib包支持我们画图,有点非常多,现学习如下。 首先要导入包,在以后的示例中默认已经导入这两个包 import matplotlib.pyplot as...

python聊天程序实例代码分享

代码简单,直接看代码吧:复制代码 代码如下:import socketimport threadingimport re#import Tkinter def ser(): &...

Python中模拟enum枚举类型的5种方法分享

以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码 代码如下: # way1 class Directions:     up = 0  ...