Posted on So 10 Juni 2012

bottle - dynamisches Routing

Dynamische Routen enthalten Platzhalter für die jegliche Zeichenketten oder Werte eingesetzt werden können. Es sind Variablen. Diese Variable wird an die angedockte Funktion weitergegeben und mittels Funktionsalgorithmus verarbeitet. Ein Beispiel:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from bottle import route, run, debug

@route('/hallo/<name>')
def hello(name):
    return "Hello {0} !".format(name)

debug(True)
run(reloader=True)

Nach /hallo/ können nun Zeichenketten verwendet werden. (z.B. /hallo/paul /hallo/ina ...) Die eingesetzte Zeichenkette wird in der Variable name gespeichert und in Zeile 7 ersetzt diese Zeichenkette den Platzhalter {0}. Platzhalter können auch durch folgende Filter spezifiziert werden.

@route('/route/') - nur Integer-Werte sind erlaubt @route('/route/') - nur float-Werte sind erlaubt @route('/route/') - erlaubt reguläre Ausdrücke @route('/route/') - erlaubt Verzeichnisangaben

Durch die Zeile 9 mit dem Inhalt debug(True) werden hilfreiche Fehlermeldungen mit Einzelheiten angezeigt. Der reloader, der in Zeile 10 auf True gesetzt wird, bewirkt dass bei Veränderungen des Skripts kein Neustart des Programms notwendig ist. (bottle)

Comments


There are no comments yet.

Add a Comment

You can use the Markdown syntax to format your comment.

Comment Atom Feed

© heiko. Built using Pelican. Theme by Giulio Fidente on github. .