gpt4 book ai didi

python - Django 的方法是什么?

转载 作者:行者123 更新时间:2023-11-30 23:57:44 26 4
gpt4 key购买 nike

class Article(models.Model):
def user_may_see_full_version(self, user):
# do something very sophisticated with the user
return [True/False whatever]

现在我想创建一个这样的模板:

{% for article in articles %}
{% if article.user_may_see_full_version request.user %}{{ article }}{% else %}{{article.title }}{% endif %}
{% endfor %}

但这不起作用,因为我无法将参数传递给方法......

有什么好的方法可以解决这个问题吗?

最佳答案

无法直接从模板将参数传递给方法。模板过滤器是最好的方法:

{% if article|user_may_see_full_version:user %}{{ article }}{% else %}{{article.title }}{% endif %}

过滤器的实现如下:

@register.filter()
def user_may_see_full_version(article, user):
return article.user_may_see_full_version(user)

关于python - Django 的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com