Рубрики
Без рубрики

Учебное пособие по вспомогательному урок: Создание системы управления библиотеками, часть 5 – падение логики шаблонов

Привыкнуть к синтаксису шаблонов. Tagged с помощью колбы, учебного пособия, python, шаблона.

Предыдущий: Часть 4 – сосредоточиться на ответах

В этой главе мы собираемся исследовать основы шаблонов в

Я настроил все в этом репо:

Deliciousflask-5.1

Загрузите его, убедитесь, что у вас установлена Flask и запустите app.py

Фигурные скобки

Чтобы различить HTML и все, что вы хотите рендерировать, вы используете вьющиеся скобки. В шаблоны/curly_braces.html ты увидишь


    {{1 + 2}}

Если вы пойдете в http://127.0.0.1:5000/render-curly-braces ты увидишь:

Это потому, что прилагается 1+2 в {{}} вызывает колбу, чтобы представить выражение.

Рендеринг переменной Python

Допустим, у нас есть переменная, называемая сообщением. Мы хотим сделать это в шаблоне. В HTML часть мы делаем:


    {{message}}

и в app.py мы передаем его как аргумент ключевого слова в нашей функции возврата.

@app.route('/render-variable')
def render_variable():
    return render_template('render_variable.html', message='I am a rendered variable!')

Сообщение Имя переменной шаблонов и «Я отображаемая переменная!» это значение.

Собираюсь в http://127.0.0.1:5000/render-vaireable дает:

Рендеринг петли

Синтаксис для петли заключается в следующем, на стороне Python мы просто рендеринг файла:


    {% for i in range(5): %}
        
{{ i }}
{% endfor %}

Собираюсь в http://127.0.0.1:5000/render-loop дает:

Просто не забудьте поместить значения рендеринга в {{}}

Списки рендеринга

Скажем так, у нас есть список фруктов:

@app.route('/render-list')
def render_list():
    return render_template('render_list.html', fruits=['apple', 'orange', 'pear'])

Теперь у нас есть переменная, называемая фруктами, доступной в шаблоне. Мы повторяем это так же, как обычный список:


    {% for fruit in fruits: %}
        
{{ fruit }}
{% endfor %}

Собираюсь в http://127.0.0.1:5000/render-list дает:

Установка переменной в самом шаблоне.

Чтобы установить переменную в самом шаблоне, вы делаете:

{% набор%}

Затем вы можете использовать его:


    {% set x = 5%}

    
x is equal to {{x}}

Собираюсь в http://127.0.0.1:5000/render-template-var дает:

Рендеринг IFS

Вполне возможно и полезно иметь IFS в шаблонах:


    {% set x = 5%}

    {% if x == 5: %}
        

X is equal to 5

{% else %}

X is not equal to 5

{% endif %}

Собираюсь в http://127.0.0.1:5000/render-if дает:

как x равен 5

Где документы шаблонов?

Флэста фактически использует сестринский проект для шаблона под названием Jinja. Все документы можно найти здесь: jinja.palletsprojects.com/en/2.11.x

Jinja2 на самом деле очень продвинутая и всеобъемлющая библиотека шаблонов.

В главах мы рассмотрим самые распространенные, которые мы будем использовать.

Оригинал: “https://dev.to/abdurrahmaanj/flask-delicious-tutorial-building-a-library-management-system-part-5-a-dip-into-templates-logic-gpl”