ValueError - 未返回HttpResponse对象。 - 在删除视图Django中

问题描述 投票:0回答:1

我在删除用户时收到ValueError

错误 -

/ employee / delete / 31 /的ValueError

视图apps.employee.views.EmployeeDeleteView未返回HttpResponse对象。它返回了None。

class EmployeeDeleteView(LoginRequiredMixin, generic.DeleteView):
    model = User
    template_name = 'employee/employee_confirm_delete.html'
    context_object_name='employees'

    def get(self, request, *args, **kwargs):
        # Tab Opts Checking
        if request.user.userprofile.user_company.company_tab_opts:
            return redirect('admin_employee')

    def delete(self, request, *args, **kwargs):
        self.object = self.get_object()
        self.object.userprofile.soft_delete()
        messages.success(request, 'Employee Deleted Successfully.')
        return HttpResponseRedirect(reverse('admin_employee'))

这是错误的追溯

Internal Server Error: /employee/delete/31/
Traceback (most recent call last):
  File "/home/.virtualenvs/apollo_django-njoxc1BQ/lib/python3.5/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/.virtualenvs/apollo_django-njoxc1BQ/lib/python3.5/site-packages/django/core/handlers/base.py", line 137, in _get_response
    "returned None instead." % (callback.__module__, view_name)
ValueError: The view apps.employee.views.EmployeeDeleteView didn't return an HttpResponse object. It returned None instead.
django django-models django-forms django-templates django-views
1个回答
0
投票

在这里我做了什么。但不知道是不是正确的做法

class EmployeeDeleteView(LoginRequiredMixin, generic.DeleteView):
    model = User
    template_name = 'employee/employee_confirm_delete.html'
    context_object_name='employees'


    def delete(self, request, *args, **kwargs):
        # Tab Opts Checking
        if request.user.userprofile.user_company.company_tab_opts:
            return redirect('admin_employee')
        self.object = self.get_object()
        self.object.userprofile.soft_delete()
        messages.success(request, 'Employee Deleted Successfully.')
        return HttpResponseRedirect(reverse('admin_employee'))
© www.soinside.com 2019 - 2024. All rights reserved.