Мой бэкэнд использует Django. Мои stati c файлы используют https://docs.djangoproject.com/en/3.0/ref/contrib/staticfiles/#django .contrib.staticfiles.storage.StaticFilesStorage для хранения моих внутренних файлов. Когда я получаю доступ к своим файлам с моего сайта, запрос ищет этот файл: internal.6a7c4d7e1c1e.css
. Это имя генерируется каким-то образом, я не знаю, на моем фронте. Проблема в том, что неделю go мой сайт работает без каких-либо ошибок. Но когда я отмечаю свой коммит на 0.0.1
и делаю релиз, сайт ищет этот internal.4188f59d19d7.css
. Но этот файл не существует в моей папке, и сайт работает без стилей.
Django помещает все мои stati c файлы в /home/developer/collected_static/
. Основной. css (который является моим основным файлом там). Также у меня есть другие файлы, внутренние файлы, такие как:
external.004173246553.css internal.241e6043ba27.css internal.6a7c4d7e1c1e.css internal.a9a9e1a85ca5.css internal.f6d3eedfe205.css main.2bd12da67323.css main.81c12e8cbd67.css main.d3f7640e234d.css
external.009bd21e09d2.css internal.2d4b4f251635.css internal.7092cae68a42.css internal.b173cdd8c8ff.css main.048ff141018e.css main.431950216205.css main.88db1011af20.css main.d6e12dd31035.css.....
Из других выпусков, но эти другие выпуски я не помечаю своим коммитом.
Я понимаю необходимость эти файлы: от Django: The purpose of this storage is to keep serving the old files in case some pages still refer to those files, e.g. because they are cached by you or a 3rd party proxy server....
. Но я не понимаю, почему он ищет файл, которого там нет, и только когда я пометил коммит и сделаю релиз.
Мой релиз изменил пакет. json версия: версия моего проекта была 4.6.0
, потому что я скопировал начальный проект из другого проекта. Но когда я пометил коммит, версия из пакета. json переходит в 0.0.1
.
Я попытался переименовать файл internal.css
в internal.4188f59d19d7.css
. Работает, но как-то через некоторое время Django стирает файл и генерирует все файлы снова.
Мой фронт использует angular, но я не знаю, если это что-то изменить. Я также попытался отменить мой коммит, но он не работает. Другие файлы c работают нормально, но только внутренние. css не найден.
Вот некоторые настройки параметров:
{
"name": "frontend",
"version": "0.0.1",
"scripts": {
"postinstall": "node ./node_modules/.bin/bower install"
},
"devDependencies": {
"bower": "~1.3.8",
"gulp": "^3.9.1",
"gulp-check-unused-css": "~2.1.3",
"gulp-less": "^3.3.0",
"gulp-plumber": "~1.0.0",
"gulp-util": "~3.0.4",
"gulp-watch": "^4.3.11",
"less": "2.7.2"
},
"dependencies": {
"bower": "^1.3.8"
}
}
STATIC_URL = AWS_URL + '/static/'
STATIC_ROOT = '/home/developer/collected_static/'
STATICFILES_DIRS = ('/home/developer/frontend/static/',)
PIPELINE_JS_COMPRESSOR = 'pipeline.compressors.uglifyjs.UglifyJSCompressor'
PIPELINE_CSS_COMPRESSOR = 'pipeline.compressors.cssmin.CSSMinCompressor'
STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
"pipeline.finders.PipelineFinder",
"pipeline.finders.CachedFileFinder",
)
STATICFILES_STORAGE = "pipeline.storage.PipelineCachedStorage"
PIPELINE_CSS = {
"external": {
"source_filenames": (
"css/reset.css",
"bower_components/font-awesome/css/font-awesome.css",
"bower_components/flexText/style.css",
"lib/foundation-5.4.5.custom.min.css",
"bower_components/alloyeditor/dist/alloy-editor/assets/alloy-editor-ocean-min.css",
"bower_components/cropperjs/dist/cropper.min.css",
),
"output_filename": "css/external.css",
"extra_context": {
"media": "screen,projection",
},
},
"internal": {
"source_filenames": (
"css/main.css",
),
"output_filename": "css/internal.css",
"extra_context": {
"media": "screen,projection",
},
},
}
PIPELINE_JS = {
"external": {
"source_filenames": (
"bower_components/jquery/dist/jquery.min.js",
"bower_components/momentjs/moment.js",
"bower_components/pretty-text-diff-fork/jquery.pretty-text-diff.min.js",
"lib/diff_match_patch.min.js",
"bower_components/angular/angular.min.js",
"bower_components/angular-sanitize/angular-sanitize.min.js",
"bower_components/angular-ui-router/release/angular-ui-router.min.js",
"bower_components/angular-slugify/angular-slugify.js",
"bower_components/flexText/jquery.flexText.min.js",
"bower_components/truncate/truncate.js",
"bower_components/webfontloader/webfontloader.js",
"bower_components/dragscroll/dragscroll.js",
"bower_components/alloyeditor/dist/alloy-editor/alloy-editor-all-min.js",
"bower_components/dragdealer/src/dragdealer.js",
"bower_components/unslider/dist/js/unslider-min.js",
"bower_components/three.js/build/three.min.js",
"bower_components/cropperjs/dist/cropper.min.js",
),
"output_filename": "js/external.js",
},
"internal": {
"source_filenames": (
"scripts/fonts.js",
"scripts/utils.js",
"scripts/app.js",
"scripts/services.js",
"scripts/directives.js",
"scripts/filters.js",
"scripts/controller.js"
),
"output_filename": "js/internal.js",
},
}