Creating Dynamic URLs in Flask with url_for()

Flask Tip:

In Flask, the url_for() function can be passed an argument to specify the variable part of a URL.


# Flask View Function with Variable Routing (Python)
def stock_details(id):
    stock = Stock.query.filter_by(id=id).first_or_404()
    return render_template('stocks/stock_details.html', stock=stock)

# Jinja Template (HTML)
  {% for stock in stocks %}
      <a href="{{ url_for('stocks.stock_details', }}">{{ stock.stock_symbol }}</a>
  {% endfor %}