Методы и примеры кода для администрирования шаблонов

  1. Регистрация шаблона.
    Этот метод включает регистрацию шаблонов, чтобы сделать их доступными для использования.

    Пример кода (Python Flask):

    from flask import Flask, render_template
    app = Flask(__name__)
    @app.route('/')
    def index():
       return render_template('index.html')
    if __name__ == '__main__':
       app.run()
  2. Рендеринг шаблонов.
    Этот метод используется для рендеринга шаблонов с динамическими данными.

    Пример кода (Python Flask с Jinja2):

    from flask import Flask, render_template
    app = Flask(__name__)
    @app.route('/')
    def index():
       name = 'John Doe'
       return render_template('index.html', name=name)
    if __name__ == '__main__':
       app.run()
  3. Наследование шаблона.
    Этот метод позволяет создать базовый шаблон и расширить его в других шаблонах.

    Пример кода (HTML с Jinja2):

    <!-- base.html -->
    <html>
    <head>
       <title>{% block title %}{% endblock %}</title>
    </head>
    <body>
       {% block content %}{% endblock %}
    </body>
    </html>
    <!-- child.html -->
    {% extends 'base.html' %}
    {% block title %}My Page Title{% endblock %}
    {% block content %}
    <h1>Welcome to my page</h1>
    {% endblock %}
  4. Переменные шаблона.
    Этот метод предполагает передачу переменных в шаблоны.

    Пример кода (Python Flask с Jinja2):

    from flask import Flask, render_template
    app = Flask(__name__)
    @app.route('/')
    def index():
       user = {'name': 'John Doe', 'age': 25}
       return render_template('index.html', user=user)
    if __name__ == '__main__':
       app.run()
  5. Условные выражения шаблона.
    Этот метод позволяет включать в шаблоны условную логику.

    Пример кода (HTML с Jinja2):

    <h1>{{ title }}</h1>
    {% if user %}
       <p>Welcome, {{ user }}!</p>
    {% else %}
       <p>Welcome, guest!</p>
    {% endif %}
  6. Циклы шаблонов.
    Этот метод позволяет перебирать коллекцию в шаблонах.

    Пример кода (HTML с Jinja2):

    <ul>
    {% for item in items %}
       <li>{{ item }}</li>
    {% endfor %}
    </ul>