У меня возникла ситуация, когда, заменяя строку url "/CreditHistory/10216"
с переменной jinja2 {{creditNumbers|safe}}
, беспорядок загружает файлы javascript. В частности, это работает;js скрипты не загружаются в шаблон jinja2
{% block Scripter %}
<script type="text/javascript" src="./static/assets/js/crossfilter/crossfilter.js"></script>
<script type="text/javascript" src="./static/assets/js/d3/d3.js" charset="utf-8"></script>
<script type="text/javascript" src="./static/assets/js/dc.js/dc.js"></script>
<script type="text/javascript" src="./static/assets/js/queue/queue.js"></script>
<script src='./static/assets/js/graphsFordringer.js' type='text/javascript' charset="utf-8"></script>
<script type="text/javascript">
queue().defer(d3.json, "/CreditHistory/10216").await(makeGraphs);
</script>
{% endblock %}
Но это не так;
{% block Scripter %}
<script type="text/javascript" src="./static/assets/js/crossfilter/crossfilter.js"></script>
<script type="text/javascript" src="./static/assets/js/d3/d3.js" charset="utf-8"></script>
<script type="text/javascript" src="./static/assets/js/dc.js/dc.js"></script>
<script type="text/javascript" src="./static/assets/js/queue/queue.js"></script>
<script src='./static/assets/js/graphsFordringer.js' type='text/javascript' charset="utf-8"></script>
<script type="text/javascript">
queue().defer(d3.json, "{{creditNumbers|safe}}").await(makeGraphs);
</script>
{% endblock %}
Ошибки, которые попадают в веб-браузер, подразумевают, что ни один из файлов javascript не загружается. Одним из них является, например, то, что очередь не является определенной функцией. Также очевидно, что переменная "{{creditNumbers|safe}}"
загружается до "/CreditHistory/10216"
. Итак, короче говоря, переменная загрузка, похоже, нарушает загрузку javascript. Не то, чтобы я нашел ссылку на подобные проблемы в документации, так что, вероятно, это не то, что происходит.
EDIT:
Теперь кажется, что я неправильно понял всю ситуацию. Похоже, что шаблон шаблона jinja2 объявлен в файле app.py
, что является основной причиной.
Код ошибки @app.route
;
@app.route('/KundeFordringer/<int:KundeNr>')
def fordringer(KundeNr):
jsonSti = "/CreditHistory/"+str(KundeNr)
return render_template("fordringer.html", creditNumbers=jsonSti)
Однако, если я изменю код на следующий, он отлично работает;
@app.route('/KundeFordringer')
def fordringer():
return render_template("fordringer.html", creditNumbers="/CreditHistory/10216")
Как уже упоминалось ранее, просмотр исходного кода с помощью веб-браузера, то можно увидеть, что "/CreditHistory/10216"
был загружен при использовании первого @app.route
декларации. Но, видимо, что-то есть, тем не менее, с этим путем.
Любая помощь будет принята с благодарностью
Попробуйте удалить '| safe' – doru
@doru, спасибо за предложение, но теперь кажется, что я неправильно понял проблему и что проблема связана с объявлениями 'app.py', см. EDIT. – Rookie
Что вы видите при проверке '