Почему Django не загружает мой CSS?

Вопрос: Я создаю сайт с 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') Внутри моего приложения для блога у меня есть

Вопрос:

Я создаю сайт с 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 был успешно найден.

Оцените статью
Добавить комментарий