필드 레이블을 알고 있습니다 ("BOP"라고 말하면 됨). 오른쪽 필드 개체를 반환하는 templatetag를 만들고 싶습니다. 그래서이 형식으로 사용할 수 있습니다. 이 작동하는 경우 그 이유는 다음과 같다,장고 templatetag 필드 레이블을 기반으로 필드를 반환하려면
return next((fld for fld in form if fld.label == arg), None)
:
{% with bop=form|f_lookup:"BOP" %}
<div>
<div class="span-4">BOP</div>
<div class="span-5">{{ bop }}</div>
</div>
{% endwith %}
이 시도 ..
@register.filter(name='f_lookup')
def field_lookup_by_label(form, arg):
"""Look up a form field based on a label"""
return next((form.fields[k] for k, v in form.fields.items() if v.label == arg), None)
기능은 나에게 좋아 보인다. 당신은 그 전화를 받았 는가? 사용자 정의 템플릿 태그를 템플릿에로드 했습니까? –
맞아요. 작동하는 것처럼 보이지만, 템플릿이 클래스의 문자열을 렌더링하는 것으로 보입니다. – rh0dium