Yanıtlar:
Değişkenler için anahtar kelime bağımsız değişkenleri alır:
url_for('add', variable=foo)
url_forFlask değişken kural rotalar için fonksiyon parametreleri olarak geçecek
@app.route("/<a>/<b>")ve def function(a,b): ...işlevi olarak, o zaman url_forbunun gibi anahtar kelime argümanlarını kullanmalı ve belirtmelisiniz:url_for('function', a='somevalue', b='anothervalue')
url_forin Flask, bir uygulama boyunca (şablonlar dahil) URL'leri değiştirmek zorunda kaldığınız yükü önlemek için bir URL oluşturmak amacıyla kullanılır. Olmadan url_for, uygulamanızın kök URL'sinde bir değişiklik varsa, bağlantının bulunduğu her sayfada bunu değiştirmeniz gerekir.
Sözdizimi: url_for('name of the function of the route','parameters (if required)')
Şu şekilde kullanılabilir:
@app.route('/index')
@app.route('/')
def index():
return 'you are in the index page'
Şimdi bir dizin varsa dizin sayfası: bunu kullanabilirsiniz:
<a href={{ url_for('index') }}>Index</a>
Bununla çok fazla şey yapabilirsiniz, örneğin:
@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))
Yukarıdakiler için kullanabiliriz:
<a href = {{ url_for('find_question' ,question_id=1) }}>Question 1</a>
Bunun gibi parametreleri kolayca iletebilirsiniz!
{{ url_for('find_question' ,question_id=question.id) }}ve değil{{ url_for('find_question' ,question_id={{question.id}}) }}
Aşağıdakiler için Flask API belgesine bakınflask.url_for()
Şablonunuza js veya css bağlamak için kullanılan diğer örnek snippet'ler aşağıdadır.
<script src="{{ url_for('static', filename='jquery.min.js') }}"></script>
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}">
Şablonlar:
İşlev adını ve bağımsız değişkeni iletme.
<a href="{{ url_for('get_blog_post',id = blog.id)}}">{{blog.title}}</a>
Görünüm, işlev
@app.route('/blog/post/<string:id>',methods=['GET'])
def get_blog_post(id):
return id
def add(variable)?