ОБНОВЛЕНИЕ - он правильно читает статическую папку. Если я создам файл test.css, а затем попытаюсь перейти к http://myserver:8000/static/css/test.css
, он его подхватит.
Проблема в том, что я пытаюсь поместить в эту папку новый bootstrap.css. Он игнорирует, что у меня есть пользовательский, и вместо этого использует тот, который находится в папке python2.7/dist/mezzanine/.... Шаблоны не имеют этой проблемы, когда я их собирал. base.html является пользовательским, и он использует мою, а не сохраненную копию по умолчанию, так почему же он не делает этого со статическими файлами?
Я пробовал много разных примеров stackoverflow и google, но кажется, что мое приложение django/mezzanine не хочет распознавать статические файлы, которые я использую.
Мои статические файлы находятся в '/opt/myproject/static/'
settings.py
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(PROJECT_ROOT, STATIC_URL.strip("/"))
STATIC_DIRS = (os.path.join(PROJECT_ROOT, "static"),)
Отмечу, что даже хардкодирование пути не помогает -
STATIC_ROOT = "/opt/myproject/static/"
STATIC_DIRS = ("/opt/myproject/static",)
Base.html — это Mezzanine по умолчанию, поэтому вот как он ищет статические файлы:
<link rel="stylesheet" href="{% static "css/bootstrap.css" %}">
Если я жестко закодирую местоположение в CSS, он не найдет файл -
<link rel="stylesheet" href="/opt/myproject/static/css/bootstrap.css">
Я в недоумении, почему он не получает статические файлы нигде, кроме домашней папки мезонина. Если я делаю findstatic, он никогда не находит мою папку только по умолчанию -
python manage.py findstatic css/bootstrap.css
Found 'css/bootstrap.css' here:
/usr/local/lib/python2.7/dist-packages/mezzanine/core/static/css/bootstrap.css
Что я делаю не так?
отредактируйте, чтобы включить, что у меня есть DEBUG = True
Я сделал трюк urls.py -
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
Я также сделал python manage.py runserver --unsecure
STATIC_DIRS = (os.path.join(PROJECT_ROOT, "static/"),)
иSTATIC_ROOT = os.path.join(PROJECT_ROOT, "static/")
обратите внимание на косую черту - person Ben   schedule 30.07.2014mezzanine/core/static/css/bootstrap.css
и посмотрите, вернется ли он к вашему пользовательскому. - person Ben   schedule 30.07.2014