Джанго не видит статические файлы - PullRequest
1 голос
/ 31 марта 2019

Так что дело в том, что django просто не может распознать статические файлы. Независимо от того, что я попробовал, это просто не работает. Я попытался изменить путь от глобального поиска до прямого URL-адреса файла CSS, но, похоже, ничего из этого не работает.

Структура моего проекта выглядит так:

structure

Вот мой код:

DEBUG = True
INSTALLED_APPS = [
   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
]
    STATIC_URL = '/static/'
    STATIC_DIRS = [os.path.join(BASE_DIR, "static")]
    STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")
    from django.contrib import admin
    from django.urls import path
    from something.views import *
    from django.conf import settings
    from django.conf.urls.static import static
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', home),
        ]
    if settings.DEBUG:
        urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
    {% load static from staticfiles %}
    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="utf-8">
            <title>Monkeys</title>
            <link rel="stylesheet" type="text/css" href="{% static 'css/file.css' %}"/>
        </head>

Можно найти ответ в любой теме в Интернете, поэтому я надеюсь, что вы поможете.

Ответы [ 2 ]

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

В настоящее время у вас есть опечатка - STATIC_DIRS вместо STATICFILES_DIRS , поэтому collectstatic в настоящее время вообще не настроен.

Исправьте это,затем снова запустите collectstatic.

1 голос
/ 31 марта 2019

Вернитесь на несколько шагов назад и настройте статические файлы и убедитесь, что они точно соответствуют документации django

Только о статических файлах

Этот проект имеет структуру, аналогичную вашей

Когда выполняется collectstatic, значение STATICFILES_FINDERS по умолчанию django.contrib.staticfiles.finders.FileSystemFinder будет собирать ваши статические файлы по любым путям, которые есть в STATICFILES_DIRS.

Другое значение по умолчанию STATICFILES_FINDERS django.contrib.staticfiles.finders.AppDirectoriesFinder будет искать в / static / папке любых приложений в INSTALLED_APPS.

Все найденные статические файлы будут помещены в указанный каталог STATIC_ROOT.

STATIC_URL = '/static/'

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

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")

Вы также можете использовать python manage.py findstatic, чтобы увидеть, в какие каталоги будет собирать collectstatic.

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