django 在 forms.ModelForm 里怎么获得当前的登录用户?

查看 19|回复 0
作者:python30   
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 这里面取得当前的登录用户。 谢谢各位
您需要登录后才可以回帖 登录 | 立即注册

返回顶部