我正在構建一個需要用戶配置文件的小應用程序,我用Django的用戶系統構建。但我有一個關於即使您沒有登錄,你仍然可以查看配置文件還另一件事是,每個用戶只能看到他的輪廓不是別人,我需要在這Django登錄需要查看
views.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})
這是不是做的方式爲Django CBV。 – Joseph
在CBV中,他不能僅僅在調度方法上使用@login_rquired嗎? –
這意味着覆蓋每個方法(如果他使用來自其他應用程序的視圖),只需添加裝飾器並調用重疊。非常不整潔。 – WhyNotHugo