Как в django проекте создать файл в нутри функции представления и загрузить в бд

Подскажите, можно ли создать файл внутри функции представления или класса в django на основе приходящих данных и формы, и после загрузить этот файл в bd, чтобы его не было в корневой папке проекта, а попадал в папку медиа. Прилагаю примеры как я делаю:

def forIndex(request):
    if request.method == "POST":
        newText = request.POST["file"]
        newdata = Data()
        newdata.name = newText
        print(newText)
        with open("text.txt", "w") as file:
            data = file.write(newText)
            newdata.file = data
    return render(request, "new/index.html")

Вам нужно переопределить метод form_valid в классе представления (CBV) и добавить свою логику.

def form_valid(self, form):
    """If the form is valid, save the associated model."""
    self.object = form.save(commit=False)
    # дописать Вашу логику 
    self.object.save()
    form.save_m2m()
    return super().form_valid(form)

Вам нужно переопределить метод form_valid в классе представления (CBV) и добавить свою логику.

def form_valid(self, form):
    """If the form is valid, save the associated model."""
    self.object = form.save(commit=False)
    # дописать Вашу логику 
    self.object.save()
    form.save_m2m()
    return super().form_valid(form)
Вернуться на верх