Django 名称';请求/自我';没有定义
未定义获取请求。请查找下面的代码(我不是直接在CBV中使用它) 视图.pyDjango 名称';请求/自我';没有定义,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 !'
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所说,当时不会有请求,因为应用程序甚至还没有启动,但只有一个人接受了请求。