限制向用户显示某些数据

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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")

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

【讨论】:

以上是关于限制向用户显示某些数据的主要内容,如果未能解决你的问题,请参考以下文章

如何限制对 WCF 中某些方法的访问?

限制多个用户的数据

iOS 会限制预定的本地推送通知吗?

限制用户访问 CouchDB 中的某些文档

Cloud Endpoints,向 API 密钥授予角色以限制某些方法/路径(例如:读/写角色)

使用 FolderBrowserDialog 限制对某些文件夹的访问