2
私のリアクションアプリケーション内からdjangoビューへの単純なポストリクエストを作成しようとすると403が表示されます。ここに私のコードです:リアクションアプリケーション内のDjangoエンドポイントにaxios.postを使用するとエラーコード
views.py
@csrf_protect
def test_view():
if (request.method == 'POST'):
return HttpResponse(request.body)
Login.js(リアクトコンポーネント)
import Cookies from 'js-cookie';
//React constructor {
test_view() {
const csrftoken = Cookies.get('csrftoken');
const config = {
headers: {'HTTP_X_CSRFTOKEN': csrftoken},
}
axios.post('/prototype/hello/', {firstName: 'Fred'}, config)
.then(res => {console.log("Test res: " + res.data)});
}
//}
urls.py
url(r'^hello', views.test_view, name='test-view'),
ことが可能「jsのことです-cookie 'ライブラリが動作していませんか? index.html以外のdjangoテンプレートを使用していないため、どこにでも{%csrf_token%}はありません。代わりに、私は@csrf_protectデコレータを持っています。私はそれがdocsに基づいて行うべきだと私は思う。
csrfmiddlewareを無効にしなかった場合は、csrf_protectを使用する必要はありません。クッキーがcsrf_tokenを取得したことを確認しましたか? –