python django 在forms.ModelForm里怎么获得当前的登录用户?想在forms.ModelForm里用当前登录用户与信息作者用户做个比较?

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

     #怎么在这个ModelForm里面用什么方法得到当前登录用户呢?
        

在forms.ModelForm里怎么获得当前的登录用户? 想在forms.ModelForm里用当前登录用户与信息作者用户做个比较。不知道有什么办法可以在forms.ModelForm这里面取得当前的登录用户。 谢谢各位

阅读 821
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏