django - 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,但错误没有解决。
解决方案
@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.
推荐阅读
- python - 结合CNN和双向LSTM
- r - Importing a csv file using fread loses factor order
- regex - Ansible 替换大配置文件中的值
- javascript - NodeJS Var 未定义自身?
- c++ - 使用贪心算法解决方案的汽车加油问题给出了错误的输出
- ssl - 如何在加特林中关闭 TLSv1.3?
- hibernate - JPA 从具有复合主键的子实体的子实体中获取父实体
- mysql - 当我没有从本地主机连接客户端时,MySQL/MariaDB 将“本地主机:端口”显示为主机
- android - 卸载firebase后保留匿名凭据 - Android
- c# - 如何在sql中计算员工的工作时间