我需要帮助。在我的应用程序中,用户与项目相关联。假设created_by
模型中的file
字段等于request.user
,我想仅为用户启用文件下载。
这怎么可能。是否存在任何通用视图?
答案 0 :(得分:1)
向可在视图中使用的模型添加方法。像这样:
class File:
created_by = models.ForeignKey(User)
# NOTE other fields go here...
def is_downloadable_by_user(self, request):
return self.created_by == request.user
然后在你看来你可以这样做:
# NOTE fix import based on project configuration
import File
@login_required
def my_view(request):
# NOTE get file instance however you want
file = File(id=1)
if file.is_downloadable_by_user():
# DO SOMETHING
通过一些调整,我想这种方法应该适合你。 @login_required
是default Django decorator。