0

Я хочу иметь глобальные статические файлы и шаблоны для всех моих приложений. Мои приложения также будут иметь шаблоны и статические файлы. Это будет выглядеть примерно так:Глобальные статические файлы Django не загружаются

Я загружаю свои глобальные файлы, подобные этим, но он не работает.

{% load staticfiles %} 

href="{% static 'bootstrap/css/bootstrap.min.css' %}" 

и я получаю:

«NetworkError: 500 Внутренняя ошибка сервера - http://localhost:8000/static/bootstrap/css/bootstrap.min.css»

Кстати я могу получить доступ к моим приложениям статическими, но не глобальный, я отлаживать STATIC_ROOT и PROJECT_ROOT и они кажутся хорошими.

PROJECT_ROOT ='C:\\webpages\\client_portal\\client_portal' 

projectname]/     <- project root 
├── [projectname]/    <- Django root 
│ ├── __init__.py 
│ ├── settings/ 
│ ├── urls.py 
│ └── wsgi.py 
├── apps/ 
│ └── __init__.py 
│ 
├── manage.py 
│ 
├── static/ 
│ └── GLOBAL STATIC FILES 
└── templates/ 
    └── GLOBAL TEMPLATES 

Мой settings.py выглядит следующим образом:

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage' 

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) 

STATIC_ROOT = os.path.join(PROJECT_ROOT, '/static') 
STATIC_URL = '/static/' 

# Extra places for collectstatic to find static files. 
STATICFILES_DIRS = (
    os.path.join(PROJECT_ROOT, '/static'), 
) 
+0

Попробуйте сохранить static_root как пустую строку, а затем проверьте, можете ли вы получить доступ к статическим файлам. –

ответ

-1

Может быть, я не понял ваш вопрос, но вы включили этот один {% load staticfiles %}

+0

Да, он включен, и я получаю сообщение об ошибке – jfk83

+0

«NetworkError: 500 Internal Server Error - http: // localhost: 8000/static/bootstrap/css/bootstrap.min.css» – jfk83

+0

static_root используется, когда вы делаете collectstatic, поэтому как @Amar сказал оставить static_root пустым, а затем снова проверить – Zorig

0

STATIC_ROOT и STATICFILES_DIRS не должны быть одинаковыми. Создайте другой каталог, например staticfiles, чтобы сохранить ваши статические файлы разработки и использовать их в STATICFILES_DIRS.

0

Я думаю, ваша проблема в том, что у вас есть ненужная косая черта в STATICFILES_DIRS. Так это изменить:

STATICFILES_DIRS = (
    os.path.join(PROJECT_ROOT, '/static'), 
) 

к этому:

STATICFILES_DIRS = (
    os.path.join(PROJECT_ROOT, 'static'), 
) 

Надеется, что это помогает, он работал для меня в Django 2.0, без необходимости использования PROJECT_ROOT ни STATIC_ROOT.

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