Вопрос:
Я создаю сайт с Django, и по какой-то причине мой CSS файл не влияет на страницу. Я проверил, чтобы убедиться, что мой STATIC_URL определен, но все равно не повезло.
Мои настройки.py:
# Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.11/howto/static-files/ STATIC_URL = ‘/static/’ STATIC_ROOT = os.path.join(BASE_DIR, ‘static’)
Внутри моего приложения для блога у меня есть статический каталог
blog | static | css | blog.css
Мой HTML-документ:
{% load staticfiles %} <!DOCTYPE html> <html lang=»en»> <head> <title>Medicare Supplemental info</title> <meta charset=»utf-8″> <meta http-equiv=»X-UA-Compatible» content=»IE=edge»> <meta name=»viewport» content=»width=device-width, initial-scale=1″> <link rel=»stylesheet» href=»//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css»> <link rel=»stylesheet» href=»//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css»> <!— This is where I’m loading the CSS file —> <link rel=»stylesheet» href=»{% static ‘css/blog.css’ %}»> </head>
Я проверил, чтобы установить необходимое приложение в settings.py:
INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘blog’, ]
Я также попытался изменить способ загрузки статических файлов:
{% load staticfiles %}
чтобы:
{% load static %}
Еще не повезло. Что я делаю неправильно?
Лучший ответ:
Я думаю, вы пропустите это в urls.py:
from django.conf import settings from django.conf.urls.static import static urlpatterns = [ # … the rest of your URLconf goes here … ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Эта работа в dev, в производстве вы должны собирать с помощью manage.py и обслуживать статику с nginx (или apache).
Ответ №1
для django == 2.0.2 никаких изменений в urls.py не требуется, просто получите STATIC_URL в settings.py справа
Ответ №2
Запустив ту же проблему, после поиска без какого-либо решения я случайно нажал Enter в окне CMD, и сервер запуска Python продолжил работу и обнаружил, что /static/css/blog.css был успешно найден.