Turbogears가있는 Sprox 양식 Mako를 사용하면 일반 텍스트 만 표시됩니다.
-
20-09-2019 - |
문제
Turbogears 2.1로 SPROX 양식을 생성하고 Mako 템플릿에 표시하려고합니다. 내 코드는 다음과 같습니다.
양식을 정의하려면 :
class NewUserForm(AddRecordForm):
__model__ = User
newuserform = NewUserForm(DBSession)
양식을 할당하고 템플릿을 호출하는 컨트롤러 정의는 다음과 같습니다.
@expose('limelight.modules.users.templates.register')
def register(self, **kw):
tmpl_context.register_form = newuserform
return dict(value=kw)
그리고 관련 템플릿 코드 :
${tmpl_context.register_form(value=value)}
문제는 HTML 코드가 HTML을 렌더링하지 않고 페이지의 일반 텍스트로 표시된다는 것입니다.
해결책
그것을 알아 냈습니다. Mako가 생성 된 HTML에 적용되는 자동 필터를 제거하려면 'N'Mako 필터를 통해 변수를 전달해야합니다. 그래서:
$ {tmpl_context.register_form (value = value) | N}
제휴하지 않습니다 StackOverflow