Bottle Microframework: Leichtgewichtiges Python-Framework für APIs

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Bottle: Das ultimative Tutorial zum Python-Microframework

Einführung in Bottle

Bottle ist ein minimalistisches Python-Microframework für die Entwicklung von Webanwendungen und REST APIs. Das gesamte Framework besteht aus einer einzigen Datei mit weniger als 100 KB – ideal für kleine Projekte, Prototypen, eingebettete Systeme und Microservices. Bottle liefert alle notwendigen Komponenten für eine vollwertige Webanwendung ohne externe Abhängigkeiten.

Funktionen und Vorteile von Bottle

Leichtgewichtig und einfach

Bottle benötigt keine externen Abhängigkeiten und ist mit einem Befehl installiert. Das Framework besteht aus nur einer Datei, was die Bereitstellung und das Verständnis des Codes vereinfacht.

Integrierte Funktionen

  • Eingebauter HTTP-Server für die Entwicklung
  • Eigene Template-Engine: SimpleTemplate Engine
  • WSGI-Unterstützung für den Produktionseinsatz
  • Automatische Typenerkennung für Routenparameter
  • Verarbeitung von JSON, Formularen, Dateien und Cookies

Architektonische Flexibilität

Bottle ist mit allen gängigen Python-Bibliotheken für Datenbanken, Template-Engines und WSGI-Server kompatibel. So lässt es sich problemlos in bestehende Systeme integrieren.

Installation und grundlegende Einrichtung

Bottle installieren

pip install bottle

Erste Anwendung erstellen

Erstelle eine Datei app.py:

from bottle import route, run

@route('/')
def index():
    return "Hallo von Bottle!"

@route('/hello/<name>')
def greet(name):
    return f"Hallo, {name}!"

if __name__ == "__main__":
    run(host='localhost', port=8080, debug=True)

Anwendung starten

python app.py

Die Anwendung ist unter http://localhost:8080 erreichbar.

Routing und Anfrageverarbeitung

Basis-Routen

from bottle import route, get, post, put, delete

@route('/')
def home():
    return "Startseite"

@get('/users')
def get_users():
    return "Benutzerliste"

@post('/users')
def create_user():
    return "Benutzer erstellen"

@put('/users/<id:int>')
def update_user(id):
    return f"Benutzer {id} aktualisieren"

@delete('/users/<id:int>')
def delete_user(id):
    return f"Benutzer {id} löschen"

Routenparameter

Bottle unterstützt verschiedene Parametertypen:

@route('/user/<id:int>')
def user_by_id(id):
    return f"Benutzer-ID: {id}"

@route('/article/<slug:path>')
def article_by_slug(slug):
    return f"Artikel: {slug}"

@route('/price/<amount:float>')
def price(amount):
    return f"Preis: {amount}"

@route('/profile/<username:re:[a-zA-Z0-9_]+>')
def profile(username):
    return f"Profil: {username}"

Query-Parameter verarbeiten

from bottle import request

@route('/search')
def search():
    query = request.query.get('q', '')
    category = request.query.get('category', 'all')
    return f"Suche nach '{query}' in Kategorie '{category}'"

Anfragedaten verarbeiten

Formulare verarbeiten

from bottle import request, post

@post('/submit')
def submit_form():
    name = request.forms.get('name')
    email = request.forms.get('email')
    age = request.forms.get('age', type=int)
    
    return f"Daten empfangen: {name}, {email}, {age}"

Mit JSON arbeiten

from bottle import request, response

@post('/api/data')
def handle_json():
    data = request.json
    
    # Daten verarbeiten
    result = {
        'status': 'success',
        'received': data,
        'message': 'Da                    

Empfehlungen