我是django / django-rest-framework的新手。我正在试验前端的React和后端的Django-rest-framework。客户端和服务器位于不同的域。我能够为GET
请求发出POST
请求,我也设法执行此操作但仅使用csrf_exempt
装饰器,这不是理想的。 django文档建议我使用CSRF_TRUSTED_ORIGINS
来避免csrf verification
,但这对我也不起作用。这是我的 settings.py
INSTALLED_APPS = [
'api.apps.ApiConfig',
'rest_framework',
'corsheaders',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ORIGIN_WHITELIST = (
'localhost:3000',
)
CSRF_TRUSTED_ORIGINS = [
'localhost:3000'
]
我应该开始实施jwt-authentication
以避免这种情况吗?解决这个问题的最佳方法是什么?