Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 名称';请求/自我';没有定义_Django_Django Models_Django Rest Framework_Django Views - Fatal编程技术网

Django 名称';请求/自我';没有定义

Django 名称';请求/自我';没有定义,django,django-models,django-rest-framework,django-views,Django,Django Models,Django Rest Framework,Django Views,未定义获取请求。请查找下面的代码(我不是直接在CBV中使用它) 视图.py class ShiftChangeUpdateView(request,PermissionRequiredMixin,UpdateView): permission_required = ('apple.change_shiftchange',) model=ShiftChange logger.info('Data has been Deleted by %s !'

未定义获取请求。请查找下面的代码(我不是直接在CBV中使用它)

视图.py

 class ShiftChangeUpdateView(request,PermissionRequiredMixin,UpdateView):
        permission_required = ('apple.change_shiftchange',)
        model=ShiftChange
        logger.info('Data has been Deleted by  %s !', request.user.username)
        fields='__all__'
   url(r'^updategenesys/(?P<pk>\d+)/$', views.ShiftChangeUpdateView.as_view()),
我也用self检查过,但没有运气。 url.py

 class ShiftChangeUpdateView(request,PermissionRequiredMixin,UpdateView):
        permission_required = ('apple.change_shiftchange',)
        model=ShiftChange
        logger.info('Data has been Deleted by  %s !', request.user.username)
        fields='__all__'
   url(r'^updategenesys/(?P<pk>\d+)/$', views.ShiftChangeUpdateView.as_view()),
url(r'^updategenesys/(?P\d+/$),views.ShiftChangeUpdateView.as_view()),

如何解决此问题?

在不继承请求的类中,您试图像在函数中一样使用参数,但类不是这样定义的。因此,不能将
请求
用作基类

您可以做的是覆盖
表单\u valid
,并在表单成功时执行该方法的登录:

#                  no request ↓
class ShiftChangeUpdateView(PermissionRequiredMixin, UpdateView):
    permission_required = ('apple.change_shiftchange',)
    model=ShiftChange
    fields='__all__'

    def form_valid(self, form):
        logger.info('Data has been Deleted by  %s !', self.request.user.username)
        return super().form_valid(form)
#无请求&向下箭头;
类ShiftChangeUpdateView(PermissionRequiredMixin,UpdateView):
所需权限=('apple.change\u shiftchange',)
型号=换档
字段=“”“所有”
def表单_有效(自身、表单):
logger.info('数据已被%s删除!',self.request.user.username)

return super().form\u valid(form)
基于类的视图在类级别没有请求。。。删除
请求
(此处被视为基类),并重写
form_valid
以执行日志记录。导入包含模块时(即Django应用程序启动时),将解析并执行Python类主体。正如Willem所说,当时不会有请求,因为应用程序甚至还没有启动,但只有一个人接受了请求。