首页 > 解决方案 > djagno NotImplementedError:Django 没有为 AnonymousUser 提供数据库表示

问题描述

from django.shortcuts import render, redirect
from django.db import transaction
from .models import User
from .forms import RegisterForm, LoginForm, CheckPasswordForm
from .decorators import login_required
from django.views.decorators.http import require_POST




@require_POST
def profile_delete(request):
    if request.method == 'POST':
        request.user.delete()
        return redirect('users:login')
    return render(request, 'users/delete.html')

用户视图

    raise NotImplementedError("Django doesn't provide a DB representation for AnonymousUser.")
NotImplementedError: Django doesn't provide a DB representation for AnonymousUser.

我正在尝试删除 django 中的用户信息,但我收到一个类似标题的错误。我应该怎么办?我也尝试过设置中的@login_require 方法和middle_classes,但错误没有解决。

标签: djangodjango-users

解决方案


@qwe qwe - I dont think the request.user is a valid user. The error says Anonymous User which happens if the request.user is not logged in. You should also always add the @login_required decorater. That will ensure that you need to always logged in to access this endpoint.


推荐阅读