2012-06-10 17 views
8

Ich benutze Flask 0.8.Wie kann man einen URL-Alias ​​auf Python Flask haben?

Wie ein Alias ​​einer URL wie diese haben:

@app.route('/') 
def index(): 
    # I want to display as http://localhost/index, BUT, I DON'T WANT TO REDIRECT. 
    # KEEP URL with only '/' 

@app.route('/index') 
def index(): 
    # Real processing to display /index view 

Also, warum meine Hoffnung wegen DRY eines Alias ​​zu verwenden Verarbeitung/index

Jemand die Lösung wusste?

danke pfefferists.

Antwort

14

Das sollte funktionieren. Aber warum wollen Sie, dass zwei URLs dasselbe anzeigen?

@app.route('/') 
@app.route('/index') 
def index(): 
    ... 
+0

danke für alle, gelöst. – hof0w

2

Ich weiß nicht, ob Flask einen Weg hat mehr als eine URL zu einer View-Funktion zuweisen, aber man konnte sie sicherlich Kette wie folgt aus:

@app.route('/') 
def root(): 
    return index() 

@app.route('/index') 
def index(): 
    # Real processing to display /index view 
5

Wie geschrieben in URL registry doc of Flask:

Sie können auch mehrere Regeln für die gleiche Funktion definieren. Sie müssen jedoch einzigartig sein.

@app.route('/users/', defaults={'page': 1}) 
@app.route('/users/page/<int:page>') 
def show_users(page): 
    pass 
Verwandte Themen