FastAPI Todo App: Einrichten Ihres Todo App-Projekts

WBOY
Freigeben: 2024-07-26 12:16:51
Original
1264 Leute haben es durchsucht

FastAPI Todo App: Setting Up Your Todo App Project

Erste Schritte mit FastAPI: Einrichten Ihres Todo-App-Projekts

I. Einleitung

In dieser Blogserie erfahren Leser, wie sie mit FastAPI eine To-Do-App erstellen. Die Serie führt Sie Schritt für Schritt durch die Erstellung einer To-Do-Anwendung von Grund auf mit FastAPI, einem modernen und leistungsstarken Python-Webframework. Der Inhalt deckt alles ab, von der Einrichtung der Entwicklungsumgebung bis zur Bereitstellung der App. Am Ende der Serie haben die Leser ihre eigene To-Do-App erstellt und sich ein solides Verständnis von FastAPI angeeignet.

Jeder Beitrag der Reihe konzentriert sich auf einen bestimmten Aspekt des Entwicklungsprozesses und bietet klare Erklärungen und praktische Codebeispiele. Ziel ist es, den Lesern das Wissen und die Fähigkeiten zu vermitteln, die sie zum Erstellen von Webanwendungen mit FastAPI benötigen. Egal, ob Sie ein Anfänger sind, der die Webentwicklung erlernen möchte, oder ein erfahrener Entwickler, der sich mit FastAPI beschäftigt, diese Reihe soll wertvolle Einblicke und praktische Erfahrungen vermitteln.

Im ersten Beitrag wird FastAPI vorgestellt, um Ihnen bei der Einrichtung Ihrer Entwicklungsumgebung und der Erstellung Ihrer FastAPI-Anwendung zu helfen.

Blog-Code im Todo_Part1-Verzeichnis: GitHub – jamesbmour/blog_tutorials

II. Einführung in FastAPI und seine Vorteile

A. Was ist FastAPI?

FastAPI ist ein modernes, schnelles (hochleistungsfähiges) Webframework zum Erstellen von APIs mit Python 3.6+ basierend auf Standard-Python-Typhinweisen. Es ist so konzipiert, dass es einfach zu bedienen, schnell zu programmieren, produktionsbereit und auf den neuesten Python-Funktionen basiert.

B. Hauptfunktionen von FastAPI

  1. Schnelle Leistung: FastAPI basiert auf Starlette für die Webteile und Pydantic für die Datenteile und ist damit eines der schnellsten verfügbaren Python-Frameworks.
  2. Einfach zu verwenden und zu erlernen: FastAPI ist mit seinem intuitiven Design und der hervorragenden Dokumentation sehr entwicklerfreundlich.
  3. Automatische API-Dokumentation: FastAPI generiert automatisch interaktive API-Dokumentation (mit Swagger UI und ReDoc) basierend auf Ihrem Code.
  4. Typprüfung und Editorunterstützung: FastAPI nutzt die Typhinweise von Python und bietet hervorragende Editorunterstützung mit automatischer Vervollständigung und Fehlererkennung.

C. Vergleich mit anderen Python-Webframeworks

Im Vergleich zu anderen beliebten Python-Web-Frameworks wie Flask oder Django bietet FastAPI Folgendes:

  • Bessere Leistung
  • Integrierte API-Dokumentation
  • Einfachere Handhabung der Anfrage-/Antwortvalidierung
  • Native asynchrone Unterstützung

D. Warum FastAPI zum Erstellen einer Todo-App geeignet ist

Für unsere Todo-App ist FastAPI eine ausgezeichnete Wahl, weil:

  • Es ermöglicht eine schnelle Entwicklung unserer API-Endpunkte.
  • Es bietet eine automatische Anforderungsvalidierung und reduziert so die Menge an Code, die wir schreiben müssen.
  • Die integrierte API-Dokumentation erleichtert das Testen unserer Endpunkte.
  • Seine hohe Leistung stellt sicher, dass unsere App auch dann reaktionsfähig bleibt, wenn sie wächst.

III. Einrichten der Entwicklungsumgebung

A. Python installieren (3.7+)

Stellen Sie sicher, dass Python 3.7 oder höher installiert ist. Sie können es von python.org herunterladen.

B. Erstellen einer virtuellen Umgebung

Es empfiehlt sich, für Python-Projekte eine virtuelle Umgebung zu verwenden. So erstellen Sie eines:

  1. Verwendung von venv:
python -m venv todo-env
source todo-env/bin/activate  # On Windows, use `todo-env\Scripts\activate`
Nach dem Login kopieren
  1. Verwendung von Conda (Alternative):
conda create --name todo-env python=3.9
conda activate todo-env
Nach dem Login kopieren
  1. Poetry installieren
poetry install  
# activate the virtual environment  
poetry shell  
Nach dem Login kopieren

C. Installation von FastAPI und seinen Abhängigkeiten

Jetzt installieren wir FastAPI und Uvicorn (einen ASGI-Server):

pip install fastapi uvicorn
Nach dem Login kopieren

IV. Erstellen einer grundlegenden FastAPI-Anwendung

A. Schreiben des ersten FastAPI-Skripts

Erstellen Sie eine neue Datei mit dem Namen main.py und fügen Sie den folgenden Code hinzu:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello, FastAPI!"}
Nach dem Login kopieren

B. Erläuterung der Codestruktur

  • Wir importieren FastAPI aus dem Fastapi-Modul.
  • Wir erstellen eine Instanz von FastAPI namens app.
  • Wir definieren eine Route mithilfe des @app.get("/")-Dekorators, der FastAPI mitteilt, dass die folgende Funktion GET-Anfragen an die Stamm-URL ("/") verarbeitet.
  • Die async def root():-Funktion ist unser Routenhandler, der ein JSON-Objekt zurückgibt.

C. Ausführen der FastAPI-Anwendung mit Uvicorn

Um die Anwendung auszuführen, verwenden Sie den folgenden Befehl:

uvicorn main:app --reload
Nach dem Login kopieren

Dieser Befehl weist Uvicorn an:

  • Look for an app object in main.py
  • Run it as an ASGI application
  • Watch for file changes and reload the server (--reload option)

D. Accessing the automatic API documentation (Swagger UI)

Once your server is running, you can access the automatic API documentation by navigating to http://127.0.0.1:8000/docs in your web browser.

V. Defining the project structure

A. Creating a new directory for the Todo App

Create a new directory for your project:

mkdir fastapi-todo-app
cd fastapi-todo-app
Nach dem Login kopieren

B. Setting up a basic project structure

Create the following files in your project directory:

  1. main.py (entry point)
  2. requirements.txt
  3. .gitignore

C. Explaining the purpose of each file and directory

  • main.py: This is the main entry point of our application where we define our FastAPI app and routes.
  • requirements.txt: This file lists all the Python packages required for our project.
  • .gitignore: This file specifies which files and directories should be ignored by Git version control.

Add the following to your requirements.txt:

fastapi
uvicorn
Nach dem Login kopieren

And add this to your .gitignore:

__pycache__
*.pyc
todo-env/
Nach dem Login kopieren

VI. Implementing a simple "Hello, World!" endpoint

A. Creating a root endpoint

We've already created a root endpoint in our main.py. Let's modify it slightly:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Welcome to the Todo App!"}
Nach dem Login kopieren

B. Returning a JSON response

FastAPI automatically converts the dictionary we return into a JSON response.

C. Testing the endpoint using a web browser

Run your server with uvicorn main:app --reload, then navigate to http://127.0.0.1:8000 in your web browser. You should see the JSON response.

D. Using the interactive API documentation

Navigate to http://127.0.0.1:8000/docs to see the Swagger UI documentation for your API. You can test your endpoint directly from this interface.

VII. Next steps

In the upcoming blog post, we will explore FastAPI in more detail by developing the fundamental features of our Todo App. We will establish endpoints for adding, retrieving, updating, and deleting todos. As an exercise, you can add a new endpoint that provides the current date and time when accessed.

@app.get("/current-time")  
async def get_current_time():  
    current_time = datetime.now()  
    return {  
        "current_date": current_time.strftime("%Y-%m-%d"),  
        "current_time": current_time.strftime("%H:%M:%S"),  
        "timezone": current_time.astimezone().tzname()  
    }
Nach dem Login kopieren

VIII. Conclusion

Congratulations! You've successfully set up your development environment, created your first FastAPI application, and learned about the basic structure of a FastAPI project.

We've covered a lot of ground in this post. We've discussed what FastAPI is and why it's a great choice for our Todo App. We've also written our first endpoint and run our application.

In the next post, we'll start building the core functionality of our Todo App. Stay tuned, and happy coding!

If you would like to support me or buy me a beer feel free to join my Patreon jamesbmour

Das obige ist der detaillierte Inhalt vonFastAPI Todo App: Einrichten Ihres Todo App-Projekts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage