Почему атрибут загрузки больше не работает после запуска моего приложения Django App в образе docker?
После запуска образа docker моего приложения django я заметил, что загрузка файлов больше не доступна. Единственное, что я получаю, это копию страницы сайта, на которой я сейчас нахожусь, а не запрошенный файл.
Локально он работает нормально.
Вот как организован мой код :
В main/views.py :
path_to_report = f"media/Reports/{request.user.username}/{request.user.username}{now.hour}{now.minute}{now.second}.txt"
return render(request, "main/result.html", {"dic_files": dic_files, "nbr":len(files), "dic_small":dic_small, "dic_projects":dic_projects, "path_to_report":path_to_report})
В main/result.html
<a href=/{{path_to_report}} download>
<button class="btn btn-success" name="rapport" value="rapport"> Télécharger votre rapport</button>
</a>
Вот мой dockerfile :
# Use the official lightweight Python image.
# https://hub.docker.com/_/python
FROM python:3.8
# Allow statements and log messages to immediately appear in the Knative logs
ENV PYTHONUNBUFFERED True
EXPOSE 8000
## api-transport-https installation
RUN apt-get install apt-transport-https ca-certificates gnupg
# Copy local code to the container image.
ENV APP_HOME /app
WORKDIR $APP_HOME
COPY . ./
# Install production dependencies.
RUN pip3 install --upgrade pip setuptools wheel
RUN pip3 install -r requirements.txt
RUN python manage.py makemigrations
RUN python manage.py migrate
RUN python manage.py collectstatic --no-input
ENTRYPOINT ["gunicorn", "myteam.wsgi:application", "--bind=0.0.0.0:8000", "--workers=4", "--timeout=300", "--log-level=debug"]
В вашем main/views.py попробуйте заменить:
"path_to_report":f"/app/{path_to_report}"
с :
"path_to_report":path_to_report