2
사용자 정의 템플릿 필터에 여러 인수를 보내는 방법을 알 수 없습니다.Django - 템플릿 태그 내부의 변수 문자열
문제는 템플릿 변수를 인수로 사용한다는 것입니다.
사용자 지정 템플릿 필터
@register.filter
def is_scheduled(product_id,dayhour):
day,hour = dayhour.split(',')
return Product.objects.get(id=product_id).is_scheduled(day,hour)
정상적인 사용
{% if product.id|is_scheduled:"7,22" %}...{% endif %}
선 위에서 나는 두 개의 인수를 넣어 같이 제대로 작동 것 - (테스트 - 작품) 필터로 7 (22) . 문제는 일반 텍스트/문자열 대신 변수를 인수로 넣고 싶다는 것입니다. 내 템플릿에서
:
{% with day=forloop.counter|add:"-2" hour=forloop.parentloop.counter|add:"-2" %}
지금, 나는 인수로 {{ day }}
및 {{ hour }}
을 사용하고 싶습니다.
나는 예를 들면 시도 :
{% if product.id|is_scheduled:"{{ day }},{{ hour }}" %}...{% endif %}
그러나이 제기
예외 값 : 유효하지 않은 문자 인터넷 용() 기본 10 : '{{일}}'
아이디어가 있으십니까?
불행하게도,이 작동하지 않습니다. 이유가 확실하지 않습니다. 아마, 하루와 시간은 정수입니다. 반환 값 : 예외 값 : \t 'int'객체에는 'split'속성이 없으며 dayhour 변수를 인쇄하면 "0,2"대신 0이 인쇄됩니다. –
타입 변환을 포함하도록 답변을 업데이트했습니다. –
좋은 접근 방식과 같지만 구문에는 문제가 있습니다. u'hour | stringformat : "s" '오류의 요점을 파악하려고합니다. –