我正在构建一个需要用户配置文件的小应用程序,我使用了Django的内置用户系统。但我有一个问题,即使你没有登录,你仍然可以查看配置文件,另一件事是,每个用户应该只看到他的配置文件,而不是其他人我需要一些提示
在视图.py在
class UserProfileDetailView(DetailView):
model = get_user_model()
slug_field = "username"
template_name = "user_detail.html"
def get_object(self, queryset=None):
user = super(UserProfileDetailView, self).get_object(queryset)
UserProfile.objects.get_or_create(user=user)
return user
class UserProfileEditView(UpdateView):
model = UserProfile
form_class = UserProfileForm
template_name = "edit_profile.html"
def get_object(self, queryset=None):
return UserProfile.objects.get_or_create(user=self.request.user)[0]
def get_success_url(self):
return reverse("profile", kwargs={"slug": self.request.user})
由于使用的是}
Class Based Generic View
,因此需要在urls.py
中添加装饰符{下面是您通常应该做的事情
您检查过
login_required
装饰器了吗?Docs are here。在因为看起来您使用的是基于类的视图,所以需要在urlconf中装饰see here for more info。在
相关问题 更多 >
编程相关推荐