„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Erstellen einer einfachen Blog-App mit FastAPI, HTML, CSS und JSON

Erstellen einer einfachen Blog-App mit FastAPI, HTML, CSS und JSON

Veröffentlicht am 03.11.2024
Durchsuche:919

In diesem Tutorial erstellen wir eine einfache Blog-App mit FastAPI für das Backend, HTML und CSS für das Frontend und einem JSON-Datei zum Ausführen grundlegender CRUD-Vorgänge (Erstellen, Lesen, Aktualisieren, Löschen).
FastAPI ist ein modernes Web-Framework zum Erstellen von APIs mit Python, das für seine Einfachheit, Geschwindigkeit und integrierte Unterstützung für asynchrone Vorgänge bekannt ist.

Die folgende Implementierung würde so aussehen:

Building a Simple Blog App Using FastAPI, HTML, CSS, and JSON

Building a Simple Blog App Using FastAPI, HTML, CSS, and JSON

Building a Simple Blog App Using FastAPI, HTML, CSS, and JSON

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Folgendes installiert ist:

  • Python 3.7
  • FastAPI
  • Uvicorn (zum Ausführen von FastAPI-Anwendungen)

Um FastAPI und Uvicorn zu installieren, können Sie pip verwenden:

pip install fastapi uvicorn python-multipart

Projektstruktur

So wird das Projekt aufgebaut sein:

/blog_app
    ├── static
    │   └── style.css
    ├── templates
    │   ├── index.html
    │   ├── post.html
    │   ├── create_post.html
    ├── blog.json
    ├── main.py

Schritt 1: FastAPI einrichten

Erstellen Sie eine main.py-Datei, die die FastAPI-Anwendung enthält.

from fastapi import FastAPI, Request, Form
from fastapi.responses import HTMLResponse, RedirectResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
import json
import os

app = FastAPI()

app.mount("/static", StaticFiles(directory="static"), name="static")

templates = Jinja2Templates(directory="templates")

# Load or initialize blog data
BLOG_FILE = "blog.json"

if not os.path.exists(BLOG_FILE):
    with open(BLOG_FILE, "w") as f:
        json.dump([], f)


def read_blog_data():
    with open(BLOG_FILE, "r") as f:
        return json.load(f)


def write_blog_data(data):
    with open(BLOG_FILE, "w") as f:
        json.dump(data, f)


@app.get("/", response_class=HTMLResponse)
async def home(request: Request):
    blogs = read_blog_data()
    return templates.TemplateResponse("index.html", {"request": request, "blogs": blogs})


@app.get("/post/{post_id}", response_class=HTMLResponse)
async def read_post(request: Request, post_id: int):
    blogs = read_blog_data()
    post = blogs[post_id] if 0 



Schritt 2: HTML und CSS einrichten

Erstellen Sie im Vorlagenordner die folgenden HTML-Dateien:

index.html
In dieser Datei werden alle Blogbeiträge aufgelistet.



    Blog App

Blog Posts

Create New Post
{% for post in blogs %}

{{ post.title }}

{{ post.content[:100] }}...

Read more
{% endfor %}

post.html
In dieser Datei wird der vollständige Inhalt eines Blogbeitrags angezeigt.



    {{ post.title }}

{{ post.title }}

{{ post.content }}

Back to Home

create_post.html
Diese Datei enthält das Formular zum Erstellen eines neuen Beitrags.



    Create a New Post

Create a New Post

Back to Home

Schritt 3: Styling mit CSS

Erstellen Sie im statischen Ordner eine style.css-Datei, um einige grundlegende Stile hinzuzufügen.

body {
    font-family: Arial, sans-serif;
    padding: 20px;
    background-color: #f0f0f0;
}

h1 {
    color: #333;
}

a {
    text-decoration: none;
    color: #0066cc;
}

.post {
    background-color: #fff;
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

button {
    background-color: #ff4d4d;
    border: none;
    padding: 5px 10px;
    color: white;
    border-radius: 3px;
    cursor: pointer;
}

button:hover {
    background-color: #ff1a1a;
}

input, textarea {
    width: 100%;
    padding: 8px;
    margin-bottom: 10px;
}

Schritt 4: Ausführen der Anwendung

Da nun alles eingerichtet ist, führen Sie die FastAPI-Anwendung mit Uvicorn aus.

uvicorn main:app --reload

Besuchen Sie http://127.0.0.1:8000 in Ihrem Browser und Sie sollten die Blog-Homepage sehen.

Als Aufgabe können Sie eine Datenbank ?️ statt nur JSON verwenden, um eine Full-Stack-Webanwendung zu erstellen.
Mit einer Datenbank können Sie weitere Funktionen hinzufügen, die Leistung verbessern und die gesamte Benutzeroberfläche/UX verbessern. für ein umfassenderes Benutzererlebnis.

Das ist alles für diesen Blog! Seien Sie gespannt auf weitere Updates und erstellen Sie weiterhin tolle Apps! ?✨

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/jagroop2001/building-a-simple-blog-app-using-fastapi-html-css-and-json-1dc?1 Bei Verstößen wenden Sie sich bitte an Study_golang @163.com löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3