gpt4 book ai didi

python - django:将每个用户的数据分开

转载 作者:太空狗 更新时间:2023-10-29 21:29:44 24 4
gpt4 key购买 nike

我正在尝试研究如何/以最好、最安全的方式在我需要编写的 django 站点中将用户数据分开。

这是我需要做的事情的一个例子...

示例应用 ToDoList

使用django contrib.auth 管理用户/密码等,我会有以下用户

汤姆吉姆李

会有一个 ToDo 模型(在我的真实应用中会有额外的模型)

class ToDo(models.Model):
user = models.ForeignKey(User)
description = models.CharField(max_length=20)
details = models.CharField(max_length=50)
created = models.DateTimeField('created on')

我遇到的问题 - 并且可能过度思考了这个问题:如何将其锁定以便 tom 只能看到 Tom 的待办事项列表,lee 只能看到他的待办事项列表等等...

我看到一些帖子说你可以在每个查询中使用过滤器,或者使用 url,所以 url 看起来像 www.domain.com/username/todo

但无论哪种方式,我都不确定这是否是正确的方式/最佳方式,或者在阻止用户看到彼此数据方面的疯狂

干杯

理查德

最佳答案

一种方法是按当前登录的用户过滤 ToDo 项:

from django.contrib.auth.decorators import login_required
from django.shortcuts import render

from your_app.models import ToDo

@login_required
def todos_for_user(request):
todos = ToDo.objects.filter(user=request.user)
return render(request, 'todos/index.html', {'todos' : todos})

这只会锁定经过身份验证的用户的 View ,并根据请求中的已登录用户进行过滤,其他用户即使已登录,也无法访问其他用户的 ToDo 记录。希望对您有所帮助。

关于python - django:将每个用户的数据分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10582958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com