【发布时间】:2020-07-12 07:20:06
【问题描述】:
我能够在 Django HTML 模板中获取这两个值:
{{ user.get_username }}
{{ post.user }}
但是当我进一步使用它们在 IF 条件下比较它们的值时,它不起作用。
{%for post in post%}
<a href="{% url 'post_detail' post.id %}"><h1>{{post.title}}</h1></a>
<h2>{{post.content}}</h2>
<p>{{post.date}}</p>
{%if user.is_authenticated%}
<h3> {{ user.get_username }}</h3>
<h3> {{post.user}} </h3>
{%ifequal user.get_username post.user%}
<form action="{%url 'post_delete' post.id %}" method="POST">
{%csrf_token%}
<button type="submit">Delete</button>
</form>
{%endifequal%}
{%endif%}
{%endfor%}
我也尝试过 {% if user.get_username == post.user %},但也没有用。
请帮忙。我只需要针对已登录用户的帖子删除按钮。
【问题讨论】:
-
你能分享一下输出吗?
-
显示所有帖子的帖子标题和帖子内容。而已。但没有删除按钮,即使用户已登录。
-
是否可以使两个值相等但某些字符的大小写有所不同?有的是小写的,有的是大写的?
-
当我在模板中这样渲染它们时它们完全一样:{{ user.get_username }} {{ post.user }}
-
试试
{% if user == post.user %}。 ifequal 已经过时了,你应该使用常规的 if 标记。
标签: python html django django-forms django-templates