Предварительный просмотр HTML с полями Jinja2 - PullRequest
0 голосов
/ 29 марта 2020

Я только начал разрабатывать Flask веб-приложений. Я могу сказать, что я новичок в области веб-разработки. Прямо сейчас я использую Atom с некоторыми надстройками, такими как Preview HTML, чтобы получить боковую панель и показывает предварительный просмотр HTML.

. Проблема, с которой я сталкиваюсь: если у меня есть HTML с полями Jinja2 я не вижу предпросмотр кодируемой страницы (он не распознает оператор {% extends 'base.html' %} (это base. html существует и работает нормально) и поля просто enter image description here, заключенные в фигурные скобки).

Мне было интересно, как вы правильно выполняете эту работу?

Что я делаю сейчас, это готовлю HTML со 100% html тегами, и когда я вижу, что все в порядке, я конвертирую эти строки в поля дзиндзя (с нужными мне классами).

Есть ли какое-нибудь решение, чтобы упростить его?

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 29 марта 2020

Я предполагаю, что вы кодируете приложение flask (благодаря вашим тегам). В этом случае вам нужно будет запустить приложение flask из командной строки для распознавания джиндзя.

Что вы делаете, это запускаете ваше приложение flask по:

python filename.py

Это запустит ваше приложение в браузере. Так что go в браузере и введите http://127.0.0.1: 5000 /

Затем, если вы настроили маршрут для страницы, которую вы ищете, тогда вы сможете просмотреть страницу, которую вы создали.

flask файл для рендеринга базового c html page 'index. html' хотел бы что-то вроде этого:

    from flask import Flask, render_template

    app = Flask(__name__) 

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

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

Надеюсь, это поможет!

0 голосов
/ 12 апреля 2020

Я думаю, что предварительный просмотр html, который вы используете, не работает на полях jinja. Для этого вам нужно запустить файл python из командной строки. Вы можете автоматически перезагрузить файлы html, установив переменную среды 'TEMPLATES_AUTO_RELOAD = True' для своего приложения flask, пока приложение находится в режиме разработки. Дайте мне знать, если вам нужно это объяснить, как это сделать.

0 голосов
/ 29 марта 2020

Это потому, что написанное вами html не является чистым html. Все эти теги jinja2 ({%%}, {{}} и т. Д. c) используются во время рендеринга, который выполняется jinja2. То, что вы видите, является необработанным html до того, как оно будет отображено jinja2. Таким образом, чтобы увидеть обработанный html, вы должны запустить приложение и позволить ему отображать html для вас.

...