/ / Wie man Python Bottle erkennt viele Wurzelpfade - Python, Flasche

Wie man Python Bottle erkennt viele Wurzelpfade - Python, Flasche

Nun, ich benutze Python Bottle Framework und ich möchte einen Root-Pfad für jede Art von Links wie folgt erstellen:

/py-admin
/py-admin/
/py-admin/<pagename>

Ich habe es versucht, aber ich habe einen 404 Fehler

@bottle.get("/py-admin/<pagename>")
def py_admin(pagename=None):
if pagename == "download":
do sth
return .....
elif pagename == "update":
do sth else
return .......
return .....

Wenn also die Verbindung einen zweiten Pfad hat, wird ein if angewendet. Andernfalls, wenn die /py-admin oder py-admin/ ist der Link, dann wird die endgültige Rückkehr aufgerufen.

Irgendein Hinweis wie kann ich es beheben? Ich bevorzuge es nicht, verschiedene Pfadwurzeln zu erstellen, wenn es möglich ist.

Antworten:

1 für die Antwort № 1

hast du einfach folgendes versucht?

@bottle.get("/py-admin")
@bottle.get("/py-admin/")
@bottle.get("/py-admin/<pagename>")
def py_admin(pagename=None):
# your code…

das ist eigentlich eines der Beispiele des Tutorials:

So gehst du, wenn du wirklich bist "bevorzuge keine unterschiedlichen Pfadwurzeln"

Aber wenn dein Code wirklich wie dein kurzes Beispiel aussieht, dann:

@bottle.get("/py-admin/<pagename>")
def py_admin(pagename=None):
if pagename == "download":
do sth
return .....
elif pagename == "update":
do sth else
return .......
return .....

Ich denke wirklich, dass du darüber nachdenken solltest:

@bottle.get("/py-admin")
@bottle.get("/py-admin/")
def py_admin():
# … do something
return ……

@bottle.get("/py-admin/download")
@bottle.get("/py-admin/download/")
def py_admin_download():
# … do something
return ……


@bottle.get("/py-admin/update")
@bottle.get("/py-admin/update/")
def py_admin_update():
# … do something
return ……

Aber am Ende liegt es wirklich an dir, und es hängt wirklich von deinem Code ab.

HTH