python3+django3 TypeError: 'URLPattern' object is not iterable

最近在使用django3+开发应用时,需要在页面中展示图片,这时需要根据不同的条件在项目根目录urlpatterns列表里面添加url。 话不多说直接上代码:

if DEBUG:
    	urlpatterns += url(r'^media/(?P<path>.*)/$', serve, {'document_root': MEDIA_ROOT})

但是在启动项目的时候一直提示:

TypeError: 'URLPattern' object is not iterable

搞了好久终于想到在python3中有直接对列表添加元素的方法 - append()方法
将上面的代码更改为:

if DEBUG:
    urlpatterns.append(url(r'^media/(?P<path>.*)/$', serve, {'document_root': MEDIA_ROOT}))

项目成功启动!

扩展:
python列表中append方法是给列表增加一个元素,而‘+=’是增加上该符号后边的元素,可以是给字符串拆开来拆成单个字符来插入。

example:
testlist = ['zhangsan', 'list']
for i in testlist:
    print(i)
print('++++++++++')
testlist += 'wangwu'
for i in testlist:
    print(i)

输出结果:
zhangsan
list
++++++++++
zhangsan
list
w
a
n
g
w
u
看到这个有点懵b
而使用append()方法是时:

testlist = ['zhangsan', 'list']
for i in testlist:
  		print(i)
print('+++++++++++')
testlist.append('wangwu')
for i in testlist:
   	print(i)

输出结果:
zhangsan
list
+++++++++++
zhangsan
list
wangwu
完全符合预期!

发布了1 篇原创文章 · 获赞 0 · 访问量 11

猜你喜欢

转载自blog.csdn.net/Hello_super/article/details/105397389
今日推荐