Ho giocato con Tornado e ho scritto del codice che non sembra molto bello.Parametri query URL Tornado
Sto scrivendo un'app per memorizzare le ricette come esempio. Questi sono i miei gestori:
handlers = [
(r"/recipes/", RecipeHandler),
(r"/recipes", RecipeSearchHandler), #so query params can be used to search
]
Questo mi ha portato a scrivere questo:
class RecipeHandler(RequestHandler):
def get(self):
self.render('recipes/index.html')
class RecipeSearchHandler(RequestHandler):
def get(self):
try:
name = self.get_argument('name', True)
self.write(name)
# will do some searching
except AssertionError:
self.write("no params")
# will probably redirect to /recipes/
C'è un modo migliore per avvicinarsi a questi URL senza un try/tranne? Mi piacerebbe/ricette e/ricette/per mostrare la stessa cosa, mentre/ricette? Name = qualcosa farebbe una ricerca, e idealmente essere un gestore diverso.
+1 per il collegamento. Tuttavia questo pattern URL si estende per includere più parametri se volessi cercare in questo modo .../recipes? Ingredient = chicken & style = indian – colinjwebb