Django: невозможно загрузить CSS-файлы, находящиеся в / static - PullRequest
0 голосов
/ 16 апреля 2019

С тех пор, как я закончил бэкэнд моего сайта Django, я начал добавлять немного стиля. Мои html-файлы отображаются, но кажется, что css не был с ними связан, однако путь указан правильно, когда я показываю исходный код в Firefox.

mywebsite/
----blog/
----mywebsite/
----static/
--------css/
------------struct.css
----templates/
--------layouts/
--------errors/
------------404.html
--------html/
------------struct.html

Версия Django: 2.1.7

settings.py:

DEBUG = False
ALLOWED_HOSTS = ['*']

INSTALLED_APPS = [
    # other apps...
    'django.contrib.staticfiles',
]

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

urls.py:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

struct.html:

{% load static %}

<!DOCTYPE html>
<html lang="en" dir="ltr">

  <head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width; initial-scale=1.0;">

    <link rel="stylesheet" href="{% static 'css/struct.css' %}">

    <title>test</title>

  </head>

  <body>

    <p>test</p>


  </body>

</html>

struct.css:

p{
    color:red:
}
body{
    background-color:black:
}

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

Обычно путь к статическим файлам должен выглядеть следующим образом: app / static / appname / yourfiles нет необходимости менять шаблоны URL.

Если ваше приложение называется Myapp, правильный путь для вашего css-файла -

Myapp / static / Myapp / css / struct.css

Для включения статических файлов добавьте строку ниже в settings.py

STATIC_URL = '/static/'

и в вашем html шаблоне

<!doctype html>
{% load static %}
<link rel="stylesheet" href="{% static 'Myapp/css/struct.css' %}">

Если у вас есть статические файлы в приложении, тогда нет необходимости использовать

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

Вы можете обратиться Управление статическими файлами в документации django.

0 голосов
/ 16 апреля 2019

определить статический корень в settings.py

STATIC_ROOT = BASE_DIR + '/static/'

надеюсь, это поможет

см. это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...