0
내가 뭘하고 싶은지이 렌더링은 jinja2 템플릿이지만 특정 환경 변수가 true (edit_mode)라면 "edit"를 모든 "a"태그의 href에 추가하고 싶습니다.모든 링크에 쿼리 문자열을 추가하는 Jinja2 사후 프로세스?
의사 코드 :
def render_template(tpl, ctx):
if ctx['edit_mode']:
return add_query_string_and_render(tpl, '?edit=1', **ctx)
else:
return tpl.render(**ctx)
내가 생각 한 다음 메커니즘 :
- 은 통해
- 사후 처리 소스를 BeautifulSoup로로 렌더링 된 HTML을 구문 분석하고이를 변경 (추한,하지만 작동) 컴파일하기 전에 jinja2 확장을 사용하지만 캐싱을 사용하지 않도록 설정해야합니다.
또 다른 우아한 해결책이 있습니까?
함께 뭔가 현재 페이지를 표시 한 다음 렌더링시 jinja2 컨텍스트에 넣습니다. 앱마다 다르므로 사용자 설정과 다릅니다. – amirpc