几分钟前我很容易登录我的django管理控制台.我必须在以超级用户身份登录时导致此错误的某些地方进行了更改:
禁止(403)CSRF验证失败.请求中止.
这个错误让我措手不及,因为我整晚都在登录.为什么我突然需要一个用于管理员登录的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)
Run Code Online (Sandbox Code Playgroud)
Zee*_*dia 95
对于升级到 Django +4.0 后遇到此问题的新用户,您需要CSRF_TRUSTED_ORIGINS=['https://*.YOUR_DOMAIN.COM']添加settings.py
感谢以下答案:
uba*_*dub 17
管理员登录通常需要一个csrf令牌,但通常都会照顾你.
django.middleware.csrf.CsrfViewMiddleware的中间件https是否已启用或(您CSRF_COOKIE_SECURE=False是默认设置),否则您的csrf cookie存在但不会被发送.更换后清除您的cookie CSRF_COOKIE_SECURE.当我没有在 settings_local 中设置 CSRF_COOKIE_DOMAIN 但它是在我的主 settings.py 中设置时,就会出现此错误。
就我而言,我将其设置为本地主机,例如
CSRF_COOKIE_DOMAIN = '127.0.0.1'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10837 次 |
| 最近记录: |