#django #forms #filter #django-templates
#django #формы #Фильтр #django-шаблоны
Вопрос:
Я пытаюсь использовать пользовательский фильтр шаблонов, чтобы изменить значение формы и вернуть его обратно. В частности, я пытаюсь сделать то, что уже делает cut
фильтр шаблонов, но вместо этого использую lstrip
и rstrip
.
from django.template import Library
register = Library()
def lstrip(value, arg):
return value.value() #I can get the form value, but how do I change it?
register.filter('lstrip',lstrip)
В моем шаблоне:
#import custom template tags
{{ form.url|lstrip:"/" }}
Как мне изменить значение поля и вернуть поле с новым значением на место (точно так же, как это уже делает cut
фильтр)?
Ответ №1:
во-первых, я бы изменил имя вашего тега шаблона, потому что lstrip — это встроенный метод python. В вашем переименованном теге шаблона вы действительно можете использовать lstrip, если это то, что вы хотите сделать:
def my_custom_strip(value, arg):
return value.lstrip(arg)
и в вашем шаблоне
{{ form.url|my_custom_strip:"/" }}
Надеюсь, это поможет,
Хофф