Django Webpack static не находит файл
Я создал приложение Django и попытался обслуживать файлы через webpack. Теперь приложение не может найти эти файлы, несмотря на установку необходимых констант в settings.py.
Папка output находится прямо в корневом каталоге и должна быть найдена с помощью STATICFILES_DIRS
, но если я запускаю приложение, то получаю ошибку 404 not found
Я вывожу свои файлы через webpack внутри корневой папки в /dist/js/*.js
webpack.config.js
const webpack = require('webpack');
const glob = require('glob');
let globOptions = {
ignore: ['node_modules/**', 'venv/**']
}
let entryFiles = glob.sync("**/javascript/*.js", globOptions)
let entryObj = {};
entryFiles.forEach(function(file){
if (file.includes('.')) {
let parts = file.split('/')
let path = parts.pop()
let fileName = path.split('.')[0];
entryObj[fileName] = `./${file}`;
}
});
const config = {
mode: process.env.NODE_ENV,
entry: entryObj,
output: {
path: __dirname + '/dist/js',
publicPath: '/static/',
filename: '[name].js'
},
optimization: {
minimize: false
}
}
module.exports = config
settings.py
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_URL = "/static/"
STATICFILES_DIRS = [
("js", f"{BASE_DIR}/dist/js"),
]
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
main.html:
{% load static %}
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
{% block content %}
{% endblock %}
</body>
<!-- Load bundled webpack script -->
<script src="{% static 'main.js' %}" type="text/javascript"></script>