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

yipeiwu_com6年前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代码打印100-999之间的回文数示例

python代码打印100-999之间的回文数示例

打印100-999之间的回文数(即百位和个位的数字相等),并每10个打印一行 i = 100 x = 0 # 使用计数器,每10个换行打印 while i <= 999:...

python 实现分页显示从es中获取的数据方法

注意:使用该方法,获取的数据总数目不能超过1万,否则出错 #在python3上运行 from elasticsearch import Elasticsearch from urll...

解决Python传递中文参数的问题

今天有个需要需要传递中文参数给URL 但是在GBK环境下的脚本传递GBK的参数老是给我报UNICODE的解码错误。烦的很。 所以我们果断选择用urlencode来处理中文, 由于国内外网...

python模块之paramiko实例代码

本文研究的主要是python模块之paramiko的相关用法,具体实现代码如下,一起来看看。 paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是...

Django框架模型简单介绍与使用分析

Django框架模型简单介绍与使用分析

本文实例讲述了Django框架模型简单介绍与使用。分享给大家供大家参考,具体如下: ORM介绍 ORM Object relational mapping 对象关系映射 把面向...