django 在 forms.ModelForm 里怎么获得当前的登录用户? 想在 forms.ModelForm 里用当前登录用户与信息作者用户做个比较。不知道有什么办法可以在 forms.ModelForm 这里面取得当前的登录用户。 谢谢各位
views.py 里:
#用户编辑贴子 class Edit_Topic(UpdateView): model = Topic slug_field = 'pk' slug_url_kwarg = 'pk' form_class = EditTopicForm template_name = 'gqinfo/edit_topic.html' context_object_name = 'topic' def get_success_url(self): t = Topic.objects.get(id=self.kwargs.get('pk')) if t.hidden:#信息未审核,跳转到待审列表 return reverse("info:shenhe_list") else:#信息审核后直接显示 return reverse_lazy("info:topic_detail", kwargs={'pk':t.id}) forms.py 里
class EditTopicForm(forms.ModelForm): def __init__(self, *args, **kwargs): self.instance = kwargs.get('instance', None) self.request = kwargs.get('request', None)#这里取不到数据 super(EditTopicForm, self).__init__(*args, **kwargs) class Meta: model = Topic #fields = "__all__" fields = ['title', 'infocategory', 'category', 'body', 'tags', 'ys_t'] # def form_valid(self, form): # form.instance.created_by = self.request.user # return super().form_valid(form) def save(self): inst = super(EditTopicForm, self).save() print (self.request) #这里没有这个 request print (inst.author.is_superuser, 'dddddd') #这里显示的是信息发布者的用户。不是当前登录的用户 return inst 在 forms.ModelForm 里怎么获得当前的登录用户? 想在 forms.ModelForm 里用当前登录用户与信息作者用户做个比较。不知道有什么办法可以在 forms.ModelForm 这里面取得当前的登录用户。 谢谢各位
