Используя django-конвейер локально
Как я могу просмотреть файлы в папке STATIC_ROOT при запуске локального сервера (./manage.py runserver 0.0.0.0:8000)? Я настроил django-pipe и collectstatic, как ожидалось, поместив минимизированный файл в каталог, обозначенный STATIC_ROOT. Тем не менее, запуск сервера и доступ к минимизированному файлу (в моем случае его http://localhost:8000/static/filterpages/js/vendor.js) дает мне 404 страницы не найдены.
Мое дерево каталогов
django_project/
├── filter
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── filterpages
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ ├── models.py
│ ├── static
│ │ └── filterpages
│ │ ├── js
│ │ └── vendor
│ │ ├── bootstrap.min.js
│ │ └── jquery-2.2.2.min.js
│ ├── templates
│ │ └── filterpages
│ │ ├── index.html
│ ├── templatetags
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── manage.py
└── staticfiles
├── admin
└── filterpages
├── js
│ ├── vendor.6238a90960e0.js
│ └── vendor.js
└── vendor
├── bootstrap.min.c5b5b2fa19bd.js
├── bootstrap.min.js
├── jquery-2.2.2.min.1d35678c5edb.js
└── jquery-2.2.2.min.js
Мои settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_STORAGE = 'pipeline.storage.PipelineStorage'
STATICFILES_DIRS = []
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'pipeline.finders.CachedFileFinder',
'pipeline.finders.PipelineFinder',
'pipeline.finders.FileSystemFinder',
)
PIPELINE = {
'PIPELINE_ENABLED': True,
'JAVASCRIPT': {
'vendor': {
'source_filenames': (
'filterpages/vendor/jquery.min.js',
'filterpages/vendor/bootstrap.min.js',
),
'output_filename': 'filterpages/js/vendor.js',
}
}
}
PIPELINE['JS_COMPRESSOR'] = 'pipeline.compressors.yuglify.YuglifyCompressor'
1 ответ
Вы можете попробовать мой путь. В url.py (корневой URL, поместите в тот же каталог, где находится файл settings.py).
from django.conf.urls.static import static
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
И перезапустите сервер и попробуйте снова получить доступ к файлу js