Django 模板 : How to use values/values_list

标签 django django-templates

在模板中我试图做这样的事情:

{{ request.user.profile.following.all.values_list }}

我明白了

<QuerySet [(7, 2, 1)]>

,但我想得到

<QuerySet [2]>

就像在 Django values_list 中一样。 例如:Follow.objects.filter(follow_by=self.request.user.profile).values_list('follow_to', flat=True) 我可以在模板中传递这样的参数吗?

最佳答案

Can I pass argument like this in template?

。 Django 模板引擎故意限制了这一点,因为这是属于 View 的逻辑。例如:

from django.contrib.auth.decorators import login_required

@login_required
def my_view(request):
    following = request.user.profile.following.values_list('follow_to', flat=True)
    return render(
        request,
        '<i>some_template.html</i>',
        {<b>'following': following</b>}
    )

然后你可以渲染它:

{{ following }}

也就是说,使用 .values_list(…) [Django-doc]通常是一种反模式,因为它侵 eclipse 了模型层。因此它与 primitive obsession antipattern [refactoring.guru] 有关.

关于Django 模板 : How to use values/values_list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64306193/

相关文章:

android - 表单提交上的 Django 动态文件输出在移动设备上不起作用

django - 如何从 Django 模板访问 models.py 中的常量?

django - 如何用字符串覆盖表单文本框小部件?

python - 如何根据 Django CMS 中的区域动态更改 header 中的链接标签

python - 子域和登录

django - 删除父模型时不会调用子模型的重写删除方法?

python - djangocms-installer 不询问设置问题

单独文件中的 Javascript 在 Django 中不起作用

jquery - django.core.paginator 使用 jQuery 进行 Ajax 分页

python - 类型对象 'Book' 没有属性 'order_by'