DjangoがDebug=Falseになると、静的リソースに正確にアクセスできない解決策

1078 ワード

問題の説明
Debugモードで正常にアクセスできる場合、Falseに切り替えると、ページから静的リソースを要求できなくなります.次の手順に従います.
1.アクセス可能なドメイン名の設定
2.urlを静的ファイルパスにマッピングする追加
3.異常処理ページの設定
環境:Django 2.2
一、settingを設定する.py
#       , localhost
ALLOWED_HOSTS = ['*'] 
   ...
   ...
#         
STATIC_URL = '/static/'
STATIC_ROOT = 'static'

二、urlsを設定する.py
from django.conf.urls import url
from django.views import static
from django.conf import settings
from . import view

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', view.index),
       ........
    #       ,       
    url(r'^static/(?P.*)$', static.serve,
        {'document_root': settings.STATIC_ROOT}, name='static')
]
#       
handler403 = view.page_permission_denied
handler404 = view.page_not_found
handler500 = view.page_inter_error

三、viewを設定する.py
def page_not_found(request):
    from django.shortcuts import render
    return render(request, '404.html')
...
...