Как получить текущий URL-адрес в jinja2/flask (request.url не работает)
Есть ли способ распечатать текущий URL-адрес в Jinja2/Flask?
Например, если текущий URL-адрес: http://www.domain.com/example/1/2
{{ request.path }}
работает и печатает /example/1/2
, но как мне получить полный URL-адрес с http://?
Из документов (здесь) {{ request.url }}
должен работать, но ничего не дает.
благодаря
ОБНОВИТЬ
Ниже приведены аргументы render/context из views.py:
class EventDetailView(EventObjectMixin, FormView):
template_name = 'gig/public/about.html'
context_object_name = 'event'
form_class = EventPurchaseTicketForm
def get_context_data(self, **kwargs):
context = super(EventDetailView, self).get_context_data(**kwargs)
...
return context
Ответы
Ответ 1
Найдите, где у вас есть аналогичный код, обычно находящийся в файле controller.py или __ init__.py или views.py:
from flask import render_template
...
@app.route('/example/<arg1>/<arg2>')
def some_view_function(arg1, arg2):
...
return render_template('path/to/your/template.html')
С помощью render_template()
есть запрос и другие переменные, доступные вам.
Ответ 2
Вы можете использовать {{ url_for(request.endpoint) }}
, он работает.