Хотя я понимаю использование url_for для поиска register.js в static, моя проблема более проста. В целях отладки register.js существует в templates, в той же папке, где также находятся register.html и index.html, но, похоже, он по-прежнему не работает.
Я хотел бы понять, как я должен подключать свои файлы .js к файлам .html через jinja. Мой существует в layout.html, и передача его способами, которые я пробовал, не сработала. Предположим, у меня есть три файла: layout.html, register.html и register.js.
Мой layout.html в настоящее время выглядит так

В то время как мой register.html выглядит так:

Каков правильный синтаксис для подключения моего файла .js?



Сделайте это в register.html
{% block javascript %}
{{ super() }} <-- This will invoke the parent code block
// Add js code here at register.html level
{% endblock %}
Хорошо, поэтому проверьте, какой URL-адрес браузер запрашивает обратно на сервер, чтобы найти файл js.
Как бы я это сделал?
На вкладке "Сеть" в инструментах разработчика.
Ааааааааааааааааааааааааааа. Похоже, что скрипт действительно загружается нормально. Loading failed for the <script> with source “my/local//host/register.js”. register:24 Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.
Это должно быть проблемой только с моей локальной веб-страницей, не так ли? Например, если я продолжу и разверну этот веб-сайт, страница регистрации должна быть https?
На самом деле, поцарапайте это. перезагрузка веб-страницы с https: // дает мне эту общую ошибку: Loading failed for the <script> with source “https://localhost:8080/register.js”.
Этот вопрос возник из-за моего полного непонимания того, как jinja находит файлы. Правильно был {% block javascript %} {{ super() }} <script src = "/static/register.js"></script> {% endblock %}