@Shua_inc

Почему Django-CMS не видит пользовательские CSS/JS?

Django-CMS отказывается видеть статические файлы в каталоге static проекта. Те что создаются вручную - просто не находит. А те что установливались вместе с django и django-cms по прежнему берутся из ../env/lib/python3.6/site-packages/cms/static/cms/
collectstatic сделал.
settings.py
MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")


urls.py
urlpatterns = [
    path('admin/', admin.site.urls),   
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += [url(r'^', include('cms.urls')),]


ну и в шаблоне
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
  • Вопрос задан
  • 699 просмотров
Решения вопроса 1
@Stormx480
Python Backend Developer
1. Попробуй точно указать путь BASE_DIR. У меня сделано так:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

2. В urls.py попробуй сделать так:
urlpatterns = [
      somethingurls
]+static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)+static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Т.е. напрямую свяжи с переменной (мб поможет, ну у меня лично так сделано, и так рекомендуют сами разработчики джанги)

3. Проверь наличие 'django.contrib.staticfiles' в переменной INSTALLED_APPS в settings.py

4. Так же проверь наличие переменной
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

в settings.py

5. Ну и самое главное, не забудь импортировать статику в шаблон)
{% load static %}

Так же на это может повлиять веб-сервер, для того что бы это понять, попробуй загрузить статику на своем пк, если получится - надо настраивать веб-сервер.

Если не получится отпиши, будем дальше думать)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы