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 supervisor强大的进程管理工具的使用

Python supervisor强大的进程管理工具的使用

本文主要跟大家分享在类unix操作系统下supervisor的使用以及一些关于进程的知识 一、问题背景 1、背景 如何才能让一个进程摆脱终端,获得相对较长的生命周期? 2、后台(守护)、...

Python中处理字符串之endswith()方法的使用简介

 endswith()方法返回true,如果字符串以指定后缀结尾,否则返回(False可选限制的匹配从给定的索引开始和结束)。 语法 以下是endswith()方法的语法:...

Python获取二维矩阵每列最大值的方法

因为做项目中间有一个很小的环节需要这个功能,所以就写了一个简单的小函数,下面是具体实现: #!usr/bin/env python #encoding:utf-8 ''' __Aut...

详解Python sys.argv使用方法

详解Python sys.argv使用方法

sys.argv是python用来获取命令行参数的,如在CMD下执行python *.py data,也就是使用python执行脚本时,需要添加的参数 按照Python教程中的做法 编写...

pytorch 获取tensor维度信息示例

我就废话不多说了,直接上代码吧! >>> import torch >>> from torch.autograd import Variable...