Отображение данных JSON с помощью Flask в HTML

0

Отображение данных JSON с помощью Flask в HTML

Здравствуйте! В сегодняшней статье мы рассмотрим как с помощью Python и Flask вывести JSON данные в формате HTML. В качестве данных будем использовать открытое API https://jsonplaceholder.typicode.com/posts. Это бесплатный онлайн-сервис REST API, который предоставляет имитированный сервер для тестирования и прототипирования. Он предлагает набор фиктивных конечных точек данных JSON, которые имитируют типичные операции CRUD (Создание, чтение, обновление, удаление), с которыми вы можете столкнуться в реальном веб-приложении. Мы же используем его в качестве массива данных.

Итак пристутим.

Установим Flask через командную строку.


pip install flask

Создим файл app.py и рядом папку templates, внутри templates еще один файл — index.html.

app.py
from flask import Flask, render_template, jsonify
import requests

app = Flask(__name__)

@app.route('/')
def index():
    # Fetch JSON data from a URL
    url = "https://jsonplaceholder.typicode.com/posts"
    response = requests.get(url)
    data = response.json()

    # Render the template with JSON data
    return render_template('index.html', data=data)

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

templates/index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JSON Data</title>
    <style>
        table {
            border-collapse: collapse;
            width: 100%;
        }
        th, td {
            border: 1px solid #ddd;
            padding: 8px;
            text-align: left;
        }
        th {
            background-color: #f2f2f2;
        }
    </style>
</head>
<body>
    <h1>JSON Data</h1>
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>User ID</th>
                <th>Title</th>
                <th>Body</th>
            </tr>
        </thead>
        <tbody>
            {% for post in data %}
                <tr>
                    <td>{{ post.id }}</td>
                    <td>{{ post.userId }}</td>
                    <td>{{ post.title }}</td>
                    <td>{{ post.body }}</td>
                </tr>
            {% endfor %}
        </tbody>
    </table>
</body>
</html>

Здесь при помощи Python мы динамически изменяем Web-страницу, о чем подробнее можно узнать из видеокурса Программирование на Python с Нуля до Гуру

Запустим проект:


python app.py

После запуска сервера, вводим в адресной строке браузера http://localhost/

Таким образом, при помощи Python мы вывели JSON данные на HTML странице проекта Flask. Подобным образом возможно отобразить в своем проекте любые доступные публичные API.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.