Вы могли записать:
<% Html.BeginForm("MyAction", "MyController", FormMethod.Post); %>
<input type="submit" name="button" value="Send" />
<input type="submit" name="button" value="Cancel" />
<% Html.EndForm(); %>
И затем в проверке страницы, если имя == "Отправляет" или называет == "Отмена"...
Вот фильтр, который я написал для решения моей проблемы (он не включает оксфордскую запятую)
def join_with_commas(obj_list):
"""Takes a list of objects and returns their string representations,
separated by commas and with 'and' between the penultimate and final items
For example, for a list of fruit objects:
[<Fruit: apples>, <Fruit: oranges>, <Fruit: pears>] -> 'apples, oranges and pears'
"""
if not obj_list:
return ""
l=len(obj_list)
if l==1:
return u"%s" % obj_list[0]
else:
return ", ".join(str(obj) for obj in obj_list[:l-1]) \
+ " and " + str(obj_list[l-1])
Чтобы использовать его в шаблоне: {{fruit | join_with_commas}}
Первый выбор: используйте существующий тег шаблона соединения.
http: //docs.djangoproject .com / en / dev / ref / templates / builtins / # join
Вот их пример
{{ value|join:" // " }}
Второй вариант: сделать это в представлении.
Я бы предложил пользовательский шаблон шаблонов django , а не пользовательский tag - фильтр удобнее и проще (где это возможно, как здесь). {{fruit | joinby: ","}}
выглядит как то, что я хотел бы иметь для этой цели .. ..с настраиваемым фильтром joinby
:
def joinby(value, arg):
return arg.join(value)
что, как вы видите, само по себе простота!