小编Sha*_*aun的帖子

在基于类的视图中限制经过身份验证的用户的"UpdateView"数据集

我有一个Django项目,我将用户扩展为使用OneToOneField获取配置文件.我正在使用CBV UpdateView,它允许用户更新他们的个人资料.他们访问的URL是../profile/ user/update.我遇到的问题是,如果用户键入其他用户名,他们可以编辑其他人员个人资料.如何限制UpdateView,以便经过身份验证的用户只能更新其配置文件.我试图做一些事情来确保user.get_username == profile.user但没有运气.

Models.py

from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.core.urlresolvers import reverse

class Profile(models.Model):
    # This field is required.
    SYSTEM_CHOICES = (
        ('Xbox', 'Xbox'),
        ('PS4', 'PS4'),
    )
    system = models.CharField(max_length=5,
                                    choices=SYSTEM_CHOICES,
                                      default='Xbox')
    user = models.OneToOneField(User)
    slug = models.SlugField(max_length=50)
    gamertag = models.CharField("Gamertag", max_length=50, blank=True)
    f_name = models.CharField("First Name", max_length=50, blank=True)
    l_name = models.CharField("Last Name", max_length=50, blank=True)
    twitter = models.CharField("Twitter Handle", max_length=50, blank=True)
    video = models.CharField("YouTube URL", max_length=50, default='JhBAc6DYiys', help_text="Only the …
Run Code Online (Sandbox Code Playgroud)

python django django-views

1
推荐指数
1
解决办法
1943
查看次数

标签 统计

django ×1

django-views ×1

python ×1