【发布时间】:2014-12-04 06:36:06
【问题描述】:
有没有办法在 Jinja2/Flask 中打印当前 URL?
例如如果当前网址是http://www.domain.com/example/1/2
{{ request.path }} 工作并打印/example/1/2,但我如何也可以使用 http:// 获取完整的 URL?
来自文档(here){{ request.url }} 应该可以工作,但它不会产生任何结果。
谢谢
更新
这是来自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
【问题讨论】:
-
{{request.path}}是否真的在您的模板中工作?您可能只是在您的上下文中缺少request。请向我们展示调用 Jinja 模板的渲染方法的代码(或至少为其生成上下文的代码)。 -
是的,它有效。我正在编辑别人的代码 - 通常在哪里可以找到渲染方法?在 models.py 中?
-
更有可能在视图代码中(具有该 URL 逻辑的请求处理程序)
-
好的,谢谢,我正在寻找的典型函数/参数是什么?
-
任何写着
render、render_template或context的内容都可能出现。