Django,使用内置模板在发布后 15 分钟编辑内容
Django, edit content 15 min after posting by using Built-in templates
我正在 django 中开发评论功能。用户应该可以在 post 编辑评论后的 15 分钟内编辑评论。
评论的编辑工作正常,但我不知道如何处理 15 分钟。我的想法是使用 Bullit-in 模板,这样如果 post 不早于 15 分钟,编辑按钮就会出现。这样的:
{% if comment.publication_date - now() <= 15 min %}
<button type="">Edit comment</button>
{%endif%}
有没有办法像那样实现它,还是我必须以不同的方式实现它?
非常感谢!
干杯
我会在 Comment 模型上创建一个方法,returns 一个布尔值,显示是否可以编辑。
class Comment(models.Model):
...
def can_edit(self):
fifteen_mins_ago = datetime.datetime.now() - datetime.timedelta(seconds=60*15)
return self.publication_date >= fifteen_mins_ago
现在您可以直接在模型中使用它了:
{% if comment.can_edit %}
<button type="">Edit comment</button>
{%endif%}
非常感谢 :) 它可以工作,但你必须使用时区。
def can_edit(self):
fifteen_mins_ago = timezone.now() - timezone.timedelta(seconds=15 * 60)
return self.publication_date >= fifteen_mins_ago
我正在 django 中开发评论功能。用户应该可以在 post 编辑评论后的 15 分钟内编辑评论。
评论的编辑工作正常,但我不知道如何处理 15 分钟。我的想法是使用 Bullit-in 模板,这样如果 post 不早于 15 分钟,编辑按钮就会出现。这样的:
{% if comment.publication_date - now() <= 15 min %}
<button type="">Edit comment</button>
{%endif%}
有没有办法像那样实现它,还是我必须以不同的方式实现它?
非常感谢!
干杯
我会在 Comment 模型上创建一个方法,returns 一个布尔值,显示是否可以编辑。
class Comment(models.Model):
...
def can_edit(self):
fifteen_mins_ago = datetime.datetime.now() - datetime.timedelta(seconds=60*15)
return self.publication_date >= fifteen_mins_ago
现在您可以直接在模型中使用它了:
{% if comment.can_edit %}
<button type="">Edit comment</button>
{%endif%}
非常感谢 :) 它可以工作,但你必须使用时区。
def can_edit(self):
fifteen_mins_ago = timezone.now() - timezone.timedelta(seconds=15 * 60)
return self.publication_date >= fifteen_mins_ago