小编ohj*_*uny的帖子

Django:TemplateSyntaxError,过滤器无效

我正在尝试使用变量访问字典中的值,所有这些都在遵循 Django 模板语言的 HTML 文件中。Django 的模板语言不允许您使用变量作为键来访问字典,因此我决定使用 Django 过滤器来执行此操作。但是,我收到“无效过滤器”错误,我不知道为什么。

我的 html 文件

<table class="table">
<tbody>
    <tr>
        <th scope="row">Username</th>
        <th scope="row">Full Name</th>
        <th scope="row">Points</th>
        {% for subject in subjects %}
        <th scope="row">{{ subject }}</th>
        {% endfor %}
    </tr>
    {% for user in users %}
    <tr>
        <td>
            <a href="{% url 'profile' username=user.username %}">{{ user.username }}</a>
        </td>
        <td>{{ user.first_name }} {{ user.last_name }}</td>
        <td>{{ user.profile.points.total }}</td>
        {% for subject in subjects %}
        <td>{{ user.profile.points|keyvalue:subject }}</td>
        {% endfor %}
    </tr>
    {% endfor %}
</tbody>
Run Code Online (Sandbox Code Playgroud)

我的过滤器.py …

django django-templates django-filters

5
推荐指数
3
解决办法
9236
查看次数

Django如何检查对象是否包含多个字段中的字符串

所以我有一个名为Puzzle的模型,其中包含标题,问题和主题.我希望能够通过输入字符串来搜索谜题.我的搜索栏还包含三个复选框: - 标题 - 问题 - 主题

我想以某种方式能够查询我的数据库,看看勾选的字段是否包含搜索文本.例如,如果标题和问题被勾选,我会查询拼图的标题是否包含该字符串或其问题是否包含字符串.有没有办法在Django中查询?

我知道,如果我只想查看其中一个字段,例如标题,我可以这样做:

Puzzle.objects.filter(title__contains=search_text)
Run Code Online (Sandbox Code Playgroud)

但我希望能够动态查询已勾选的字段.

目前,我的视图包含三个布尔值:标题,问题和主题.布尔值为True,如果勾选则为false,如果未勾选,则为false.

如何操作这三个布尔值以及Django查询以便能够动态查询我的数据库?

谢谢

django

4
推荐指数
1
解决办法
3456
查看次数

标签 统计

django ×2

django-filters ×1

django-templates ×1