Статические файлы не загружаются при DEBUG = False

Я использую виртуальный хостинг namecheap и разместил свой сайт с помощью cpanel. Мой сайт работает нормально, но если я сделаю DEBUG = False в файле settings.py проекта, то статические файлы не загружаются. url моего сайта: https://drshahidabegum.com/

settings.py

-----------

# Static files (CSS, JavaScript, Images)
STATIC_DIR = [
    BASE_DIR / "static",
]


STATIC_URL = '/static/'
STATICFILES_DIRS = [
    BASE_DIR / "static",
]

MEDIA_URL = '/media/' 
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

urls.py в папке проекта

-------------------------

"""
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('dr_shahida.urls')),
]


# Configure Admin Titles

admin.site.site_header = "DR. Shahida Begum"
admin.site.site_title = "DR. Shahida Begum"
admin.site.index_title = "Welcome to Admin Dashboard"
handler404 = 'dr_shahida.views.error_404_view'

urls.py в папке app

-------

from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('', views.index, name='index'),
    path('testimonial/', views.testimonial, name='testimonial'),
    path('contact/', views.contact, name='contact'),
    path('blog/', views.blog, name='blog'),
    path('blog/post/<int:post_id>', views.blogdetailview, name='blogdetailview'),
    path('set_language/<str:ln>', views.set_lang, name='set_lang'),

]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL,
                          document_root=settings.MEDIA_ROOT)

Я хочу, чтобы мои статические файлы работали, когда DEBUG = False в файле settings.py проекта.

При установке DEBUG в значение False выполните следующие действия:

  1. в настройках установите статический корень в папку public_html:
STATIC_URL = 'static/'
STATICFILES_DIRS = [
    BASE_DIR / 'static'
]
STATIC_ROOT = '/home/your_user_path/public_html/static'
MEDIA_URL = '/media/' 
MEDIA_ROOT = '/home/your_user_path/public_html/media'
  1. перейдите в терминал, активируйте env и запустите python manage.py collect static
  2. перезапустите приложение

*примечание: окончание staticroot должно быть таким же, как и статический url

Вернуться на верх