2017-01-07 18 views
2

Я пытаюсь установить новый шаблон на моем сайте Mezzanine. Мой Mezzanine находится на версии 4.2.2 и Django на 1.9.7. Вот что я сделал:Статические файлы не найдены в Mezzanine

С

DEBUG = true 

Я создал новое приложение вызова «template_app» и загружается в settings.py:

INSTALLED_APPS = (
    "template_app", 
    ... 
) 

Я создал структуру каталогов, и копируются (база, индекс ...):

template_app 
    static 
     css 
     img 
     js 
    templates 
     base.html 
     index.html 
     includes 
      footer_scripts.html 

Я загрузил шаблон бутстрапа и повторно поместил указанную выше папку css js img и index.html с найденными в шаблоне. (Шаблон я использовал: https://startbootstrap.com/template-overviews/business-casual/) Затем связать CSS и JavaScript в base.html:

(Все CSS)

{% compress css %} 
<link rel="stylesheet" href="{% static "css/bootstrap.css" %}"> 
<link rel="stylesheet" href="{% static "css/bootstrap.min.css" %}"> 
<link rel="stylesheet" href="{% static "css/business-casual.css" %}"> 
<link rel="stylesheet" href="{% static "css/mezzanine.css" %}"> 
<link rel="stylesheet" href="{% static "css/bootstrap-theme.css" %}"> 

(Все JS)

{% compress js %} 
<script src="{% static "mezzanine/js/"|add:settings.JQUERY_FILENAME %}"></script> 
<script src="{% static "js/bootstrap.js" %}"></script> 
<script src="{% static "js/bootstrap.min.js" %}"></script> 
<script src="{% static "js/jquery.js" %}"></script> 
<script src="{% static "js/bootstrap-extras.js" %}"></script> 

Я не уверен, где я ошибался, или чего не хватает. Мой сайт не может найти файл CSS и яваскрипт в приложении:

Not Found: /css/bootstrap.min.css/ 
Not Found: /css/business-casual.css/ 
[07/Jan/2017 08:12:30] "GET /css/bootstrap.min.css/ HTTP/1.1" 404 1716 
[07/Jan/2017 08:12:30] "GET /css/business-casual.css/ HTTP/1.1" 404 1720 
Not Found: /js/jquery.js/ 
... 

Я попытался изменить urls.py и другие части setting.py на основе решений других, но они не кажется, работают. Что я делаю не так?

- добавил 2017-01-09 -

Проверка с findstatic связаны меня на правильный путь. Кроме bootstrap.css, который связал меня как с файлом css в загруженном вами шаблоне, так и с мезонином.

+0

Покажите свой STATIC_ROOT и STATIC_URL. –

+1

@DmitriiMikhailov В режиме DEBUG я не думал, что STATIC_ROOT имеет значение. –

+0

@RyneEverett Да, вы правы, он должен по умолчанию ставить статическую папку. Тогда я предлагаю проверить urlpatterns для обслуживания статических файлов https://docs.djangoproject.com/en/1.10/howto/static-files/#serving-static-files-during-development –

ответ

0

Убедитесь, что вы снова перезагрузите тестовый сервер (при необходимости вручную), autorestart не распознает изменения в статических/каталогах.

-2

Я нашел этот вопрос в Google, ища решение по той же проблеме. Мне удалось обойти с этими шагами:

  • Прежде всего, дважды проверьте, что template_app котируется на INSTALLED_APPS выше всех Мезонин приложений;
  • Повторно запустить findstatic;
  • Если вы все еще не найдете его, запустите collectstatic. Хотя findstatic не нашел нужную мне тему (но нашел бы другие темы), collectstatic смог ее найти и связать свои статические файлы.
0

У меня была такая же проблема со статическими файлами, но для этого я установил параметр «STATIC_ROOT», так как мои пути были неточными.

Поскольку я использовал специальную тему, мне пришлось изменить путь «STATIC_ROOT» в settings.py, чтобы указать на статические файлы приложения, а не указывать на PROJECT_ROOT по умолчанию.

Так что я добавил что-то вроде этого ...

## Custom Theme Path (For Static Files) 
THEME_URL = "template_app/" 

И Изменено "STATIC_ROOT" на ...

STATIC_URL = "/static/" 
STATIC_ROOT = os.path.join(PROJECT_ROOT, THEME_URL, STATIC_URL.strip("/")) 

 Смежные вопросы

  • Нет связанных вопросов^_^