djangoとvue(vue/cli)で作成したSPAをherokuにデプロイしたのですがAPIのjwt認証が「500 (Internal Server Error)」(コンソールに表示)となり機能しません。
ページはちゃんと表示され、またjwt認証以外のdjangoのAPIエンドポイントへのリクエストはしっかり受け付けられるのですが、jwt認証のエンドポイントへのリクエストはエラーとなります。
使用しているjwt認証のパッケージは以下の通りです。
django-rest-framework-simplejwt 4.6.0
djoser 2.1.0(エンドポイント)
またdjangoのプロジェクトのurls.pyは以下の通りです
# config.urls from django.contrib import admin from django.conf import settings from django.conf.urls.static import static from django.urls import path, re_path, include from django.views.generic import TemplateView, RedirectView urlpatterns = [ path('admin/', admin.site.urls), path('', TemplateView.as_view(template_name='index.html')), path('api/v1/auth/', include('djoser.urls')), path('api/v1/auth/', include('djoser.urls.jwt')), path('api/v1/', include('apiv1.urls')), # apiv1というdjangoのアプリケーションを作成済み re_path('', RedirectView.as_view(url='/')), ] if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
またaxiosのbaseURLとしてvueのプロジェクトに設定している本番環境の変数は以下です。
// .env.production VUE_APP_API_BASE_URL='/api/v1/'
// axiosの設定 import axios from 'axios'; const api = axios.create({ baseURL: process.env.VUE_APP_API_BASE_URL, timeout: 10000, headers: { 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest' } });
伝わりずらい文面で申し訳ありませんが、もし何か思いつくことがあれば何でも構いませんので回答よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。