You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Django+MySQL中自动隐藏符合特定条件的表格行

解决方案

有两种简单的实现方式,可根据需求选择:

方案一:后端过滤数据(推荐)

直接在数据库查询阶段排除user为'abc'的记录,前端不会收到这些数据,也就不会渲染对应行,性能更优。

修改views.py的查询逻辑:

def home_view(request):
    # 排除user字段为'abc'的记录
    auth = Cvs_logs.objects.exclude(user='abc')
    return render(request, 'page.html', {'Cvs_logs': auth })

方案二:前端模板条件渲染

如果需要保留后端数据,仅在前端隐藏,可通过Django模板的条件判断实现,只渲染user不等于'abc'的行。

修改page.html的循环部分:

<table border="2">
    <tr>
        <th> ID</th>
        <th> NAME</th>
        <th> PASSWORD</th>
        <th> IP</th>
        <th>PORT</th>
    </tr>

    {% for data in Cvs_logs %}
        {% if data.user != 'abc' %}
        <tr>
            <td>{{data.id}}</td>
            <td>{{data.user}}</td>
            <td>{{data.pass}}</td>
            <td>{{data.ip}}</td>
            <td>{{data.port}}</td>
        </tr>
        {% endif %}
    {% endfor %}
</table>

注意:修复Model中的错误

你的models.py里id字段定义有误,缺少括号会导致运行报错,修正如下:

class Cvs_logs(models.Model):
    id = models.BigIntegerField()  # 需加括号实例化字段
    ip = models.CharField(max_length=100)
    port = models.CharField(max_length=100)
    user = models.CharField(max_length=100)
    pass = models.CharField(max_length=100)

    class Meta:
        db_table = "xyz"

内容的提问来源于stack exchange,提问作者ahsan yazdani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:20:29