2012-04-11 4 views
0

Problem mit: Von jQuery sende ich eine Post-Anforderung an dem Server, ist die URL ich nenne so etwas wie diese: /get_post_data/my-custom-slug Bedeutung i eine Anfrage an localhost:8080/get_post_data/my-custom-slug machen. Dies ändert sich jedoch möglicherweise in /my-custom-slug-two, je nachdem, wo der Benutzer in der Vorlage klickt. Ich möchte, dass der URL-Router den Slug und die Handler-Funktion für diese URL abfängt, um den Slug zu bekommen, und basierend auf dem Slug würde ich irgendein Modell in meiner Datenbank rufen, um einige Daten zu holen und sie zurückzusenden.haben Slug in Urls webapp2

Lösungsstrategie: Mit dem oben hier im Auge ist, wie ich meine url Router entwickelt haben:

app = webapp2.WSGIApplication([('/', MainPage), 
           ('/get_post_data/<my_slug:[-\w]+>', PostData) 
           ], 
           debug=True) 

und im Anschluss wird die URL-Handler-Funktion:

class PostData(webapp2.RequestHandler): 
    def post(self, my_slug): 
    self.response.out.write(my_slug) 

Das Problem ist, : Idealerweise sollte die Ausgabe my-custom-slug sein, aber das Problem ist, dass ich die Variable my_slug nicht in der Handler-Funktion bekomme. Wo liege ich falsch?

Antwort

4

Sie sind fast da, legst du es einfach so: ('/get_post_data/([-\w]+)', TeamRates) stellen Sie sicher, Sie setzen () und in den Ansichten, wie oben beschrieben, sollten die Dinge funktionieren.