Статические файлы не загружаются при 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 выполните следующие действия:
- в настройках установите статический корень в папку 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'
- перейдите в терминал, активируйте env и запустите
python manage.py collect static
- перезапустите приложение
*примечание: окончание staticroot должно быть таким же, как и статический url