Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

To use url_for in Flask with Blueprints for JavaScript, you need to follow these steps:

  1. Define your Blueprint:
from flask import Blueprint, render_template

my_bp = Blueprint('my_bp', __name__)

@my_bp.route('/my-route')
def my_route():
    return render_template('my_template.html')
  1. In the top of your template, load the url_for function:
{% from 'macros.html' import url_for %}
  1. When you need to get the URL for a route in JavaScript, call the url_for function:
<script>
    var myRouteUrl = "{{ url_for('my_bp.my_route') }}";
    console.log(myRouteUrl);
</script>

In this example, myRouteUrl will be set to the URL for the 'my_bp.my_route' route. You can then use this value in your JavaScript code.

Note that in step 2, we assume that you have a template called macros.html where you define the url_for function. Here is an example of what macros.html could look like:

{% macro url_for(endpoint) %}
    {{ url_for(endpoint) }}
{% endmacro %}