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设计】。

相关文章

windows系统中Python多版本与jupyter notebook使用虚拟环境的过程

windows系统中Python多版本与jupyter notebook使用虚拟环境的过程

本人电脑是windows系统,装了Python3.7版本,但目前tensorflow支持最新的python版本为3.6,遂想再安装Python3.6以跑tensorflow.   因为看...

Python lxml模块的基本使用方法分析

本文实例讲述了Python lxml模块的基本使用方法。分享给大家供大家参考,具体如下: 1 lxml的安装 安装方式:pip install lxml 2 lxml的使用 2.1 lx...

20行python代码实现人脸识别

20行python代码实现人脸识别

OpenCV 是最流行的计算机视觉库,原本用 C 和 C++ 开发,现在也支持 Python。 它使用机器学习算法在图像中搜索人的面部。对于人脸这么复杂的东西,并没有一个简单的检测能对...

Python结合ImageMagick实现多张图片合并为一个pdf文件的方法

Python结合ImageMagick实现多张图片合并为一个pdf文件的方法

本文实例讲述了Python结合ImageMagick实现多张图片合并为一个pdf文件的方法。分享给大家供大家参考,具体如下: 前段时间买了不少书,现在手头的书籍积累的越来越多,北京这边租...

Python 使用PIL numpy 实现拼接图片的示例

python纵向合并任意多个图片,files是要拼接的文件list # -*- coding:utf-8 -*- def mergeReport(files): from PIL...