Путь в поле FileField django

Я подготовил свою модель для создания PDF, заполненного всеми полями, которые она включает, и я пытаюсь связать сгенерированный файл с pdf = models.FileField(). Однако путь к файлу кажется нормальным, но я не могу добраться до файла через представление.

models.py:

class Lesson(models.Model):
    # fields
    # ...
    pdf = models.FileField(upload_to = 'pdfs/', default = None, blank = True)



    def render_template(self, request):
        #some magic

        BASE_DIR = str(Path(__file__).resolve().parent.parent)
        file_name = 'myfile'

        os.system(f"pdflatex -halt-on-error  --output-directory={BASE_DIR}/media/pdfs  {BASE_DIR}/media/tex/rendered/{file_name}")
        os.system(f"rm {BASE_DIR}/media/tex/rendered/{file_name}.tex")
        os.system(f"rm {BASE_DIR}/media/pdfs/{file_name}.aux")
        os.system(f"rm {BASE_DIR}/media/pdfs/{file_name}.log")
        return f"{BASE_DIR}/media/pdfs/{file_name}.pdf"

views.py:

def create_lesson(request):
    lesson = Lesson()
    lesson.pdf = lesson.render_template(request)
    lesson.save()
    message = {
        'tag' : 'success',
        'body' : "Successfully added new lesson!"
     }
     return JsonResponse({'message' : message})

Но при размещении <a href="{{ lesson.pdf }}">CLICK TO VIEW FILE</a> ссылка направляет на: http://localhost:8000/docs/lessons/media/pdfs/myfile.pdf

Какой путь должен быть установлен для поля pdf, чтобы направить его на media/pdf/myfile.pdf в models.py?

Просто добавьте следующий код:

<a href="/media/{{ lesson.pdf }}">CLICK TO VIEW FILE</a>

После добавления приведенного выше кода, вы будете перенаправлены на этот путь media/pdf/myfile.pdf

Вернуться на верх