【问题标题】:restricting display of some data to user限制向用户显示某些数据
【发布时间】:2012-08-18 23:26:19
【问题描述】:

如何限制用户可以在网络浏览器中查看的内容?假设用户想从数据库中检索数据但不是全部,只是少数说如果有4个数据列,用户只能查看3个?我该怎么做?

我正在使用 Django 的基于类的视图。

【问题讨论】:

    标签: python html database django templates


    【解决方案1】:

    在你的视图中添加这个:

    is_trusted = request.user.groups.filter(name='Trusted')
    

    将其传递给模板,并在您的模板中:

    {% if is_trusted %} Show full table {% else %} Show simple table {% endif %}
    

    【讨论】:

      【解决方案2】:

      如果您使用管理界面,您可以使用ModelAdmin 类的list_display 属性来描述要显示的字段。

      ModelForm 对象也有类似的属性,例如 exclude 属性。

      【讨论】:

        【解决方案3】:

        你可以在你的 django 查询集中使用defer

        Entry.objects.defer("headline", "body")
        

        上述查询将不包含条目表中的标题和正文列

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-04
          • 1970-01-01
          相关资源
          最近更新 更多