Django webpack не загружает изображения из статических файлов

Я в процессе создания сайта с использованием django и react. Я использую рендеринг на стороне клиента в react, вместо того, чтобы обрабатывать все url в django, и я наткнулся на проблему невозможности обновлять страницы по url, отличным от базового url. Насколько я понял, самым простым решением является webpack и его historyApiFallback. В любом случае, теперь, когда я настроил webpack, historyApiFallback не работает, и мои статические изображения больше не загружаются... Надеюсь, кто-нибудь сможет мне помочь, мне это очень нужно.

webpack.config.js

const path = require("path");
const BundleTracker = require('webpack-bundle-tracker');
const HtmlWebpackPlugin = require("html-webpack-plugin");

var config = {
    context: __dirname,
    entry:  './src/index.js',
    output: {
        path: path.join(__dirname, 'assets/dist'),
        filename: "main.js",
        publicPath: '/'
    },
    devServer:{
        historyApiFallback: true

    },
    plugins: [
        new BundleTracker({ filename: './webpack-stats.json' }),
        new HtmlWebpackPlugin({
            template: './public/index.html'
        })
    ],
    devtool: 'hidden-source-map',
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                use: ['babel-loader'],

            },
            {
                test: /\.css$/,
                use: [
                    'style-loader', 'css-loader'
                ]
            },
            {
            test: /\.(png|jpg|jpeg|gif)$/,
            type: 'asset/resource',
            use: [
              'url-loader'
            ]
        },
        ]
    }
}

module.exports = () => {

    return config
};

settings.py


FRONTEND_DIR = os.path.join(BASE_DIR, 'frontend')
STATIC_URL = 'static/dist/'
STATIC_ROOT = os.path.join(FRONTEND_DIR, "assets/dist/")
STATICFILES_DIRS = (
    os.path.join(FRONTEND_DIR, "static/dist/"),
)

MEDIA_URL = '/Images/'
MEDIA_ROOT = os.path.join(FRONTEND_DIR, '/src/Images')

WEBPACK_LOADER = {
    'DEFAULT': {
        'BUNDLE_DIR_NAME': 'assets/dist/',  # must end with slash
        'STATS_FILE': os.path.join(FRONTEND_DIR, 'webpack-stats.json')
    }
}

urls.py


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', TemplateView.as_view(template_name='index.html')),
    re_path(r'^api/news/', views.news_list),
    path('api/news/<int:id>/', views.news_detail),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Вот как выглядят мои файлы: /assets/ - это место, куда попадает пакет webpack, а /static/ - это publicPath. Это прекрасно работает с моими js файлами и css файлами, они все правильно подхватываются из /static/dist. Однако мои изображения загружаются из /assets/dist/, и я получаю 404 ошибку на все из них. У меня также есть изображения, загруженные через модели, и они работают нормально... Дайте мне знать, если мне нужно добавить еще какие-либо файлы/информацию, и заранее спасибо! Также, если кто-нибудь знает, почему мой historyApiFallback не работает, пожалуйста, скажите мне...

Picture of my file structure

Error message when getting image

Второе изображение - сообщение об ошибке, когда я пытаюсь получить изображение.

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