Получение серверной ошибки (500) при установке отладки на false из-за того, что манифест не включает css-файлы

У меня есть приложение, которое я создал, используя Django и React + Vite. Все работает нормально, когда Debug установлен на True, но как только я устанавливаю false, я получаю Server Error с консольным выводом:

ValueError: Missing staticfiles manifest entry for 'reactjs/inspector-B1mMLMX5.css'

Файл reactjs/inspector-B1mMLMX5.css существует и правильно генерируется при запуске npm run build, а сгенерированный файл манифеста имеет запись для него в свойстве css файла, который его импортирует:

  "Inspector/InspectorApp.jsx": {
    "file": "reactjs/inspector-FdX6WZL2.js",
    "name": "inspector",
    "src": "Inspector/InspectorApp.jsx",
    "isEntry": true,
    "imports": [
      "_Loading-CnrJ4Xi6.js"
    ],
    "css": [
      "reactjs/inspector-B1mMLMX5.css"
    ]
  },

Похоже, что при моих текущих настройках выполнение python manage.py collectstatic --noinput генерирует отдельный файл манифеста под названием staticfiles.json, однако это не похоже на проблему, поскольку при некоторых предыдущих настройках (например, без использования WhiteNoise) я получал ту же ошибку, но ссылался на правильный файл манифеста Vite.

Вот мой текущий файл settings.py:

vite.config.js

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
import { join, resolve } from 'path'

// https://vitejs.dev/config/
export default defineConfig(() => {
  const INPUT_DIR = './frontend';
  const OUT_DIR = './static';
  
  return {
    plugins: [react()],
    base: '/static/',
    root: resolve(INPUT_DIR),
    build: {
      manifest: 'manifest.json',
      emptyOutDir: true,
      outDir: resolve(OUT_DIR),
      assetsDir: 'reactjs',
      rollupOptions:{
        input: {
          inspector: join(INPUT_DIR, 'Inspector/InspectorApp.jsx'),
          compare: join(INPUT_DIR, 'Compare/CompareApp.jsx'),
        },
      },
    },
  };
});

Я проверил все остальные файлы Django и не нашел в них никаких ошибок (все они работают и корректно отображаются в режиме отладки). На данном этапе я перепробовал все решения, которые смог найти, и ни одно из них не решило проблему.

Вернуться на верх