Фляга render_template не работает с тегом привязки # - jinja2.exceptions.TemplateNotFound
В методе url_for вы можете передать параметр _anchor для загрузки тега привязки при загрузке страницы.
Как бы я сделал то же самое с render_template?
Я могу
render_template('profile/index.html')
без каких-либо проблем, но когда я добавляю тег привязки в конце HTML и пытаюсь сделать
render_template('profile/index.html#h1")
Я получаю шаблон не найдена ошибка
jinja2.exceptions.TemplateNotFound
TemplateNotFound: profile/index.html#h1
1 ответ
Решение
По сути, это то, что я в итоге сделал, я передал значение вместе с render_template
return render_template('profile/index.html', set_tab=1)
На стороне клиента в Ja vaScript, я сделал следующее, чтобы установить вкладку
<script>
var obj_load={% if set_tab==1%}1{%else%}0{%endif%};
tab_load=(obj_load?"#h1":"#");
$(document).ready(function () {
if(location.hash || obj_load) {
$('a[href=' + (location.hash || tab_load) + ']').tab('show');
}
});
</script>
К вашему сведению, я использую вкладку Bootstrap 3