几分钟前,我轻松地登录到django管理控制台.在以超级用户身份登录时,我一定在某个地方更改了导致此错误的内容:

禁止(403)

这个错误让我措手不及,因为我整晚都在登录.为什么我突然需要CSRF令牌来进行管理员登录?您可能会认为签到表单中已经有了这一点.这是我的admin.py:

from django.contrib import admin
from accounts.models import Image, Category, UserProfile

class ImageAdmin(admin.ModelAdmin):
    list_display    = ["__unicode__", "title", "created"]

admin.site.register(Image, GenericImageAdmin)

class CategoryAdmin(admin.ModelAdmin):
    list_display    = ["category"]

admin.site.register(Category, CategoryAdmin)

admin.site.register(UserProfile)

推荐答案

管理员登录通常需要一个csrf令牌,但这通常都是为您准备的.

  1. 判断浏览器的Cookie以查看是否存在CSRF令牌
  2. try 清除Cookie并刷新
  3. 判断以确保您的中间件中有django.middleware.csrf.CsrfViewMiddleware
  4. 判断您是否在设置中设置为httpsCSRF_COOKIE_SECURE=False(默认值),否则您的CSRF cookie存在但不会被发送.更换CSRF_COOKIE_SECURE后清除您的cookie.

Django相关问答推荐

如何将Django项目连接到容器化的PostgreSQL数据库?

django-filter compose 过滤的 url

在Django上传JPEG图像时遇到问题

Docker 中的 Django检测到更改...,正在重新加载错误

过滤查询以获取两个朋友之间的聊天消息?

Django RESTful API - django-piston vs. django-tastypie

Django中的左外反向select_related?

获取 Django 中的缓存键列表

如何缓存 Django Rest Framework API 调用?

Django - 如何在其管理模块中访问模型的详细名称?

Django,如何从模型表单的 Select 字段中删除空白 Select ?

如何使用 django 发送 POST 请求?

可以在 Django 抽象模型中使用多重继承吗?

django.core.exceptions.ImproperlyConfigured:请求设置 USE_I18N,但未配置设置

如何在 django admin 中显示布尔属性

我应该如何在我的模型中使用 DurationField?

Django:以 10 为底的 int() 的无效文字

Django REST Framework - 序列化可选字段

找不到 msguniq.确保您安装了 GNU gettext 工具 0.15 或更新版本. (Django 1.8 和 OSX ElCapitan)

ValueError: 无法解析相关模型 u'app.model'