2011-09-19 17 views

Odpowiedz

150

Zajmuje argumenty słowa kluczowe dla zmiennych:

url_for('add', variable=foo) 
+9

oznacza, że ​​funkcją jest 'def add (variable)'? – endolith

+3

@endolith, Yes. ** Kwargs przekazany do 'url_for' przejdzie jako parametry funkcji dla tras reguł zmiennych w Flask – highvolt

26

Patrz the Flask API document for flask.url_for()

Inne fragmenty przykładowych użytkowania łączenia js lub css do szablonu są poniżej.

<script src="{{ url_for('static', filename='jquery.min.js') }}"></script> 

<link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}"> 
34

url_for w kolba jest używany do tworzenia adresów URL, aby zapobiec napowietrznej konieczności zmiany adresów w całej aplikacji (w tym szablonów). Jeśli numer url_for nie zostanie zmieniony, musisz zmienić go na każdej stronie, na której znajduje się link.

Składnia: url_for('name of the function of the route','parameters (if required)')

Może być używany jako:

@app.route('/index') 
@app.route('/') 
def index(): 
    return 'you are in the index page' 

Teraz, jeśli masz link do strony indeksu: można użyć tego:

<a href={{ url_for('index') }}>Index</a> 

można zrobić dużo rzeczy z tym, na przykład:

@app.route('/questions/<int:question_id>'): #int has been used as a filter that only integer will be passed in the url otherwise it will give a 404 error 
def find_question(question_id): 
    return ('you asked for question{0}'.format(question_id)) 

Dla powyższego możemy użyć:

<a href = {{ url_for(find_question,question_id=1) }}>Question 1</a> 

Jak to można po prostu przekazać parametry!

+0

Mam pytanie, w pierwszym przykładzie, metoda indeksu została przekazana jako ciąg, podczas gdy w drugiej metodzie, ocena_wyszukiwania jest przekazywana jako zmienna. Czemu? –

+0

@AnandTyagi Czy to masz na myśli? [Routing URL] (http://flask.pocoo.org/docs/0.12/quickstart/#url-building) –

Powiązane problemy