如何在Django的base.html文件中显示python函数的结果?

时间:2013-05-27 15:08:37

标签: python django django-templates base

我有以下函数,目前在views.py中定义:

def display_path_url(request):
    return HttpResponse("Current Path: %s" % request.path)

说我正在访问127.0.0.1:8000/product_list,我会打印product_list/

我需要在 Django 中的每个呈现页面上打印此信息。这就是我希望在base.html中调用此函数的原因。

我该怎么做?

感谢您的帮助。

PS:我试图从其他Stackoverlow帖子中找到答案,但找不到任何解决方案。我希望这个问题不是其他问题的重复。

2 个答案:

答案 0 :(得分:0)

Django模板中提供了

request变量。您可以从任何地方访问它。不仅base.html{{ request.path }} 。像这样 -

{{1}}

Read more

答案 1 :(得分:0)

正如karthikr和Bibhas已经提到的,你没有太多办法来访问模板中的当前request(假设模板是使用RequestContext呈现的,cf https://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontext

作为更一般的答案,如果您想要从任何模板中提供功能,那么最好的方法是编写自定义过滤器或模板标记,如下所述:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/