首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何实现只有帖子的作者才能看到删除按钮(Django-Templates)

我如何实现只有帖子的作者才能看到删除按钮(Django-Templates)
EN

Stack Overflow用户
提问于 2016-03-21 19:23:06
回答 1查看 338关注 0票数 1

我如何实现只有帖子的作者才能看到“删除按钮”和“编辑按钮”?

目前我的模板是这样的:

代码语言:javascript
复制
{% if user.is_authenticated %}
    <hr>
        <a href="{% url 'blog:delete_post' pk=post.pk %}">Delete |</a>
        <a href="{% url 'blog:post_update' pk=post.pk %}">Edit</a>
{% endif %}

我找到了一个例子,他们用

代码语言:javascript
复制
{% if user.is_authenticated and post.author == request.user%}

但是,即使是这篇文章的作者也看不到这两个按钮。我的tempate中的所有其他内容都定义为{{ post.author }}、{{post.title }}等。

我的类帖子有一个外键作者(来自用户)。即使你可以看到按钮,只有真正的作者可以删除帖子,所以视图都是有效的。我唯一纠结的事情就是模板。如果有任何帮助,我将非常高兴!

下面是我在settings.py中的context_processors:

代码语言:javascript
复制
'context_processors': [
            'django.contrib.auth.context_processors.auth',
            'django.template.context_processors.debug',
            'django.template.context_processors.i18n',
            'django.template.context_processors.media',
            'django.template.context_processors.static',
            'django.template.context_processors.tz',
            'django.contrib.messages.context_processors.messages'
]

下面是我在Post和UserProfile上的模型:

代码语言:javascript
复制
class Post(models.Model):
    author = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
    title = models.CharField(max_length=200)
    content = models.TextField()

class UserProfile(models.Model):
    user = models.OneToOneField(User)
EN

回答 1

Stack Overflow用户

发布于 2016-03-21 20:52:12

尝试比较主键:

{% if post.author.pk == request.user.pk %}...{% endif %}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36129729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档