У меня есть приложение Django, которое я только что добавил в уже развернутую сеть Django на Apache.Поскольку он управляется Apache, путь к папке с мультимедиа кажется другим.
Мое приложение позволяет пользователю загружать файл Excel, который затем меняет числа, и сохранять как файл CSV.
(толькопоказаны соответствующие папки / фрагменты кода) Текущий каталог
converts\
_init_.py
apps.py
forms.py
models.py
converter.py
urls.py
views.py
main\
settings.py
urls.py
wsgi.py
meida\
excels\
example.xlsx
csvs\
example.csv
static\
manage.py
settings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
main \ urls.py
urlpatterns = [
path('', RedirectView.as_view(url='/converts/')),
path('converts/', include('converts.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Часть, вызывающая проблемув файле convertts / converter.py указано следующее:
def convertExcel(name):
path = 'media/excels/'
key = path + name
wb = load_workbook(key)
Изначально находящаяся в разработке функция в представлении вызывает convertExcel (example.xlsx), а рабочая книга через media / excels / example.xlsx находит правильныйфайл для работы с загруженной книгой.Но на рабочем сервере он дает
FileNotFoundError: [Errno 2] No such file or directory: 'media/excels/example.xlsx'
. Мой вопрос: должен ли я вернуться назад, откуда apache2.conf должен найти путь?Или есть способ установить путь к моему проекту django, чтобы я мог просто указать путь в моем convertExcel () как «media / excels»?Или есть другой способ позвонить в загруженную книгу?
Буду признателен за любую помощь / комментарий.Пожалуйста, прокомментируйте, если необходима дополнительная информация.