Seite 1 von 1

[bottle] Routing + URL übergeben.

Verfasst: Mittwoch 8. Dezember 2010, 14:00
von lynadge
Hallo Leute.

Hab wieder ein kleines Problem.

Ich möchte mit bottle eine URL in eine route übergeben, ungefähr so:

Code: Alles auswählen

http://localhost:8080/set/test/http://hallo.welt.de
Nun stehen die doppelten Schrägstriche // im "weg". Da er das ja als weitere Unterordner sieht.

Aussehen tut das bis jetzt so:

Code: Alles auswählen

@bottle.route('/set/:name/:url')
@bottle.route('/set/:name/:url/')
@bottle.view('set')
def set(name, url):
    return dict(name, url)
Wie kann ich das umgehen? Vielleicht mit RegEx? Kenne mich da leider nur noch zu wenig aus. Oder kann ich es gleich vergessen zu probieren?

Gruß, deadshox

Re: [bottle] Routing + URL übergeben.

Verfasst: Mittwoch 8. Dezember 2010, 14:22
von snafu
Kannst du die URL nicht als Query-String übergeben?

Re: [bottle] Routing + URL übergeben.

Verfasst: Mittwoch 8. Dezember 2010, 14:27
von lynadge
Habe schon mit dem Gedanken gespielt.

Ziel ist es aber möglichst die aktuelle URL unangetastet zulassen damit es Benutzerfreundlich bleibt.

Re: [bottle] Routing + URL übergeben.

Verfasst: Mittwoch 8. Dezember 2010, 18:12
von Defnull

Code: Alles auswählen

@bottle.route('/set/:name/:url#.+#')
@bottle.view('set')
def set(name, url):
    if bottle.request.query_string:
        url += '?' + bottle.request.query_string
    return dict(name, url)

Re: [bottle] Routing + URL übergeben.

Verfasst: Mittwoch 8. Dezember 2010, 19:14
von lynadge
Höhö, cool, es Funktioniert. :)

Es reichen diese Zeichen: '#.+#' damit es klappt.

Kann damit aber nix anfangen, könntest du das noch erklären?


Riesen Dankeschön schon mal.

Re: [bottle] Routing + URL übergeben.

Verfasst: Mittwoch 8. Dezember 2010, 19:43
von Defnull
"Normal wildcards match everything up to the next slash. You can add a regular expression to change that."
http://bottle.paws.de/docs/dev/tutorial ... mic-routes

Re: [bottle] Routing + URL übergeben.

Verfasst: Donnerstag 9. Dezember 2010, 09:46
von lynadge
Ok, danke.

Fand das in der Doku nur auf meinen Fall irgendwie schwer ersichtlich. Oder ich habs einfach nur nicht verstanden. :D

Werde mir jetzt aber mal ein paar nette RegEx Tutorials anschauen.