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

yipeiwu_com7年前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使用中文正则表达式匹配指定中文字符串的方法示例

Python使用中文正则表达式匹配指定中文字符串的方法示例

本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法。分享给大家供大家参考,具体如下: 业务场景: 从中文字句中匹配出指定的中文子字符串 .这样的情况我在工作中遇到非常多...

Python生命游戏实现原理及过程解析(附源代码)

Python生命游戏实现原理及过程解析(附源代码)

1. 生命游戏是什么 生命游戏是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生...

解决Tensorflow安装成功,但在导入时报错的问题

在Mac上按照官网教程安装成功tensor flow后,但在程序中导入时,仍然报错,包括但不限于以下两个错误。对于这种错误,原因主要在于Mac内默认的python库比较老了,即便通过pi...

tensorflow 获取所有variable或tensor的name示例

获取所有variable(每个op中可训练的张量)的name: for variable_name in tf.global_variables(): print(variabl...

在PyCharm中实现关闭一个死循环程序的方法

在PyCharm中实现关闭一个死循环程序的方法

由于刚刚学习python,对PyCharm也不是很熟悉,在成功运行多个死循环程序而没有关闭它的情况下,PyCharm成功的经常无响应,反应缓慢,一度怀疑是电脑出问题了,经过多次试验,嗯,...