在Django模板Djang中获取特定日期

2024-03-28 20:30:29 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我需要检查每月10日在我的django模板文件,谁能告诉我如何检查这个 我需要在每个月的10号之前显示一些数据,然后在10号之后隐藏这些数据


Tags: 文件数据django模板
1条回答
网友
1楼 · 发布于 2024-03-28 20:30:29

有几点需要理解:

  1. Django的模板语言并不是真正围绕“真实”编程设计的。在它的核心,它只是在构建弦。在
  2. 它不支持真正的“表达式”。在
  3. …但它确实支持基本条件和循环。在
  4. 所以当你可以检查一个值是否等于或大于或小于另一个值时,你不能做更多的事情。在
  5. 除非使用过滤器或自定义模板标记。在
  6. 过滤器可以将值从一个对象转换到另一个对象。在
  7. 模板标签可以做更复杂的事情,这超出了这个问题的范围。在
  8. 虽然过滤器或自定义模板标记都可以到达您想要的位置,但它们会起到过度的作用。在

因此,在我看来,最简单的方法是:

  1. 计算视图中当前日期的日期。在
  2. 将该值传递给模板。在
  3. 根据数字10对传入的值执行一个简单的“if greater than”检查。在

因此,我们的观点如下:

def sample_view(request, *args, **kwargs):
    from datetime import date
    current_date = date.today()
    current_day = int(current_date.day) # force a cast to an int, just to be explicit
    return render_to_response("template", {'day_of_the_month': current_day })

在我们的模板中,我们将:

^{pr2}$

这会将一些内容暴露到模板中,出于安全原因,您可能会根据日期隐藏这些内容。永远不要在基于if/then检查的模板中隐藏安全内容。

如果您需要做额外的检查,您可以只传入current_date,然后对照数字10检查{},而不是在那天专门传递。它将不那么明确,但更通用和灵活。在

相关问题 更多 >