mirror of
https://github.com/django/django.git
synced 2025-10-29 08:36:09 +00:00
[1.8.x] Fixed #25031 -- Fixed a regression in the unordered_list template filter.
Backport of e291fc4757 from master
This commit is contained in:
@@ -681,22 +681,27 @@ def unordered_list(value, autoescape=True):
|
||||
|
||||
def walk_items(item_list):
|
||||
item_iterator = iter(item_list)
|
||||
for item in item_iterator:
|
||||
try:
|
||||
next_item = next(item_iterator)
|
||||
except StopIteration:
|
||||
next_item = None
|
||||
if not isinstance(next_item, six.string_types):
|
||||
try:
|
||||
item = next(item_iterator)
|
||||
while True:
|
||||
try:
|
||||
iter(next_item)
|
||||
except TypeError:
|
||||
pass
|
||||
else:
|
||||
yield item, next_item
|
||||
continue
|
||||
yield item, None
|
||||
if next_item:
|
||||
yield next_item, None
|
||||
next_item = next(item_iterator)
|
||||
except StopIteration:
|
||||
yield item, None
|
||||
break
|
||||
if not isinstance(next_item, six.string_types):
|
||||
try:
|
||||
iter(next_item)
|
||||
except TypeError:
|
||||
pass
|
||||
else:
|
||||
yield item, next_item
|
||||
item = next(item_iterator)
|
||||
continue
|
||||
yield item, None
|
||||
item = next_item
|
||||
except StopIteration:
|
||||
pass
|
||||
|
||||
def list_formatter(item_list, tabs=1):
|
||||
indent = '\t' * tabs
|
||||
|
||||
Reference in New Issue
Block a user