reactjs - Django 中的发布和“保存草稿”功能
问题描述
我正在开发一个带有 React 前端的 Django Rest Framework B2B 应用程序。数据来自 csv,然后分析仪表板在 React 中呈现。每个帐户(“用户”)都是一家公司——在公司内部,整个营销团队(比如说)都在使用该应用程序。每个公司帐户都有该公司独有的数据。该公司独有的仪表板首选项。管理员是代表公司具有编辑/管理员权限的公司(例如波音、耐克等)的经理/员工的人类用户。该“管理员”对仪表板首选项进行了一些更改,并希望“发布”这些更改,以便公司帐户的其他员工(营销团队的其他成员)可以查看更新的仪表板。但可能还没有,因此有“保存草稿”功能。
我不确定如何在 Django (DRF) 中以最符合行业标准的方式获得这两个功能 - 当我点击“发布”时,整个营销团队应该能够看到这些变化。(这是一个 B2B 应用程序)。但是当我保存草稿时,我应该能够(以管理员身份)查看更改,但不能查看营销团队的其他成员。我会很感激任何帮助。谢谢!
解决方案
您可以使用选择字段来管理模型的状态(在您的情况下为仪表板)
示例代码如下
模型.py
class Dasboard(models.Model):
STATUS_CHOICES = (('draft', 'Save Draft'), ('published', 'Published'))
status = models.Charfield(max_length=20, choices=STATUS_CHOICES)
# Others models fields
视图.py
def dashboard(request):
objects = None
if request.user.is_admin:
# The admin users can see draft and saved (all Dashboard objects)
objects = Dashboard.objects.all()
else:
# Others users are seeing only published
objects = Dashboard.objects.filter(status='published')
return render(request, 'app_name/dashboard.html', {'objects': objects})
注意:这里我只使用了 Django过滤器功能来根据用户类型检索一些数据。但您也可以使用 Django权限进行更高级的处理。
推荐阅读
- python - 如何在 Python 中逐字母读取 .txt 文件?
- django - TypeError:“ShiftSerializer”对象不可调用
- javascript - 在模板文字中循环返回未定义
- java - 获取“将 nvarchar 值转换为 JDBC 数据类型 DOUBLE 时发生错误。”
- kotlin - 如何在密封类的成员上调用 .value
- json - 更改 json 文件时重新加载 webpack 开发服务器
- python - 一行python中的多个输入
- python - 哪个聚类距离度量可以找到最相关的项目组
- python - 在pandas df中提取+后包含空格的子字符串的行
- php - 如何保存和获取特定页面的评论 meta_key 和 meta_value