Проект на Flask и Jinja
Язык шаблонов Jinja поставляется в комплекте с Python web-фреймворком Flask. В сегодняшней статье мы создадим простое web приложение на Flask и выведем данные с помощью html шаблонов Jinja. Шаблоны Jinja - это просто html-файлы. По соглашению, они находятся в каталоге /templates нашего проекта. Если вы знакомы с форматированием строк или интерполяцией, языки шаблонов следуют аналогичной логике — только в масштабе целой HTML-страницы.
Перейдем к примеру. Для начала установим Flask командой:
pip install flask
Затем создадим файл run_flask.py и рядом с ним папку templates. Структура проекта будет выглядеть так:
|__ run_flask.py
|__ templates
Поместим в run_flask.py следующий код:
from flask import Flask, render_template
app = Flask(__name__)
/*Здесь мы устанавливаем маршрут /, который отображает шаблон template.html с помощью функции render_template().*/
@app.route("/")
def flask_proj():
return render_template('template.html', site="Myrusakov!", langs=["Java","Python","C++","C#","JavaScript"])
# запуск приложения
if __name__ == '__main__':
app.run(debug=True)
Теперь добавим файл html шаблона в папке templates:
templates.html
<!DOCTYPE html>
<html>
<head>
<title>Пример</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" media="screen">
<style type="text/css">
.container {
max-width: 500px;
padding-top: 100px;
}
</style>
</head>
<body>
<div class="container">
<p>Название сайта: {{my_string}}</p>
<p>Значение из списка: {{langs[3]}}</p>
<p>Элементы списка:</p>
<ul>
{% for i in langs %}
<li>{{i}}</li>
{% endfor %}
</ul>
</div>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
</body>
</html>
Запустим код:
>>>python run_flask.py
# Running on http://127.0.0.1:5000/
Перейдем по указанному адресу в браузере.
На экране появятся элементы списка.
Таким образом, мы создали простой web проект на Python используя шаблоны Jinja.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.