[Django]404ページが表示されない
解決したいこと
学習中の身ゆえ、見当違いのご質問でしたらご容赦ください。
仮想サーバ上の配置したDjangoの静的ファイルにReactプロジェクトを配置する、といった方法でWebアプリケーションの作成をしています。サーバソフトにはApache2を用いています。
404ページに関連する仕様で行き詰ってしまいました。
解決方法を教えて下さい。
発生している問題・エラー
存在しないアドレス(例:https ://example.com/存在しないページ") にアクセスすると、空白ページが表示される。
該当するソースコード
プロジェクトの urls.py は以下のようになっています。
from django.contrib import admin
from django.urls import path, re_path
from django.conf.urls import include
from django.views.generic import TemplateView
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('', TemplateView.as_view(template_name='index.html')),
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += [
re_path('', TemplateView.as_view(template_name="index.html")),
]
自分で試したこと
urls.py の最終ブロック
urlpatterns += [
re_path('', TemplateView.as_view(template_name="index.html")),
]
の部は、子ページ(例:https ://example.com/page1")でリロードを行うと404ページに飛ばされてしまうために付しました。この記述を取り除くと想定した挙動(存在しないページでの404表示)を行えるのですが、今度は前述の問題(リロードによるページ読み込み失敗)が引き起こされてしまい、堂々巡りとなっています。