Фляга 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

Другие вопросы по тегам