Установите скрипт src в динамическое значение при наследовании от базового шаблона в колбе - PullRequest
0 голосов
/ 28 декабря 2018

Итак, у меня есть некоторый код колбы, и мне интересно, есть ли способ сделать URL-адрес внутри HTML динамическим.Код фляги выглядит следующим образом:

from flask import Flask, render_template

app = Flask(__name__)
application = app

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/register')
def register():
    return render_template('register.html')

if __name__ == '__main__':
    app.run(debug=True)

В base.html у меня есть некоторый код, и в конце у меня есть

<script src="{{ url_for('static', filename='js/base.js') }}"></script>

Код, представленный в результате:

<script src="/static/js/base.js"></script>

У меня другой HTML-файл, унаследованный от base.html.index.html ниже:

<h1>some code (the code doesn't really matter)</h1>

Я хочу иметь возможность добавить тег сценария в конце, который будет <script src="/static/js/base.js"></script>, без добавления чего-либо.Есть ли способ сделать это?

Другими словами, если шаблон index.html, я хочу, чтобы источником тега script был index.js;если шаблон - challenge.html, я хочу, чтобы источником тега script был challenge.js.

1 Ответ

0 голосов
/ 29 декабря 2018

Вы можете использовать Jinja назначения (переменные шаблона) в родительском и установить их в дочернем.

base.html

{% set main_js = main_js|default('') %}
{% if main_js %}
    <script src="/static/js/{{ main_js }}.js"></script>
{% endif %}

index.html

{% extends 'base.html'%}
{% set main_js = 'index' %}

Вы можете использовать ту же технику для таких вещей, как заголовок страницы, метатеги и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...