Collectstatic создает необъяснимый% 20 (пробел) в статических URL-адресах каталогов, поэтому CSS не загружается - PullRequest
0 голосов
/ 28 мая 2019

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

структура папки разработки

static
 >css
  >lots of css files
 >js
 >img

Когда я запускаю collecstatic для их правильного обслуживания, команда сбора статических данных помещает все в папку staticfiles, вот мои settings.py

settings.py

STATIC_DIR = os.path.join(BASE_DIR,'static')
MEDIA_DIR = os.path.join(BASE_DIR, 'media')
STATICFILES_DIRS = [
    STATIC_DIR
]

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

# MEDIA file defaults
MEDIA_ROOT = os.path.join(BASE_DIR,'staticfiles/media')
MEDIA_URL = '/staticfiles/media/'

Я использую его таким образом, так как он настроен на моем живом сервере. Теперь у меня есть (в моей среде разработки) папка проекта с именем staticfiles / static, внутри которой я могу найти структуру папок, аналогичную описанной выше.

staticfiles
 >img
 >media
 >static
   >css
   >admin
   >img
   >podcast
   >js

Однако, как только я запустил сервер, django считает, что мой CSS-файл «static /% 20css / front.css», и поэтому он не загружается. Если я исправлю URL в «static / css / front.css», файл css загрузится отлично ...?

Вот где он пытается получить CSS: http://127.0.0.1:8000/static/%20css/front.css

Вот где это на самом деле: http://127.0.0.1:8000/static/css/front.css

Я проверил имя папки 'css' как в моей статической разработке, так и в статической статической папке, и это правильно. Кажется, это как-то связано с тем, как написан путь к папке?

...