最近在使用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
完全符合预期!