Могу ли я изменить данные формы Django и отправить их обратно на страницу? ⇐ Python
-
Гость
Могу ли я изменить данные формы Django и отправить их обратно на страницу?
Я хочу использовать форму Django, обновить некоторые поля в POST (на той же странице) и отобразить обновленные значения полей. Здесь нет никакой БД.
У меня есть форма Django. Я следую документации здесь https://docs.djangoproject.com/en/4.2/ref/forms/)
Вот мой код просмотра:
def QuestionView(запрос): # если это POST-запрос, нам нужно обработать данные формы если запрос.метод == "POST": # создаем экземпляр формы и заполняем его данными из запроса: форма = Форма вопроса(запрос.POST) # проверяем, действительно ли это: если form.is_valid(): запрос = form.data["вопрос"] результат = чат (путь к файлу = путь к файлу, запрос = запрос) form.cleaned_data["ответ"] += результат запроса["ответ"] form.cleaned_data["оценка_уверенности"] = результат["оценка"] # если GET (или любой другой метод), мы создадим пустую форму еще: форма = Форма Вопроса() return render(request, "home.html", {"form": form}) Вот код моей формы:
класс ВопросФорма(forms.Form): вопрос = form.CharField(label="Вопрос", требуется=1, max_length=255) ответ = form.CharField(label="Answer", требуется=0, max_length=16384) доверие_score = form.IntegerField(label="Доверие", требуется=0, min_value=0, max_value=100)``` Линия result =chat(filepath=filepath, query=query) — это внешняя функция, которая успешно возвращает массив значений. Я могу успешно присвоить эти значения form.cleaned_data.
После этого я не смогу отобразить обновленные очищенные_данные обратно в форму.
Я иду совершенно неверным путем или просто упустил важную деталь?
Пытаюсь использовать Django Forms для отправки формы, изменяю некоторые значения и отправляю сообщение обратно на страницу. Я ожидаю появления измененных значений, но их нет.
Я хочу использовать форму Django, обновить некоторые поля в POST (на той же странице) и отобразить обновленные значения полей. Здесь нет никакой БД.
У меня есть форма Django. Я следую документации здесь https://docs.djangoproject.com/en/4.2/ref/forms/)
Вот мой код просмотра:
def QuestionView(запрос): # если это POST-запрос, нам нужно обработать данные формы если запрос.метод == "POST": # создаем экземпляр формы и заполняем его данными из запроса: форма = Форма вопроса(запрос.POST) # проверяем, действительно ли это: если form.is_valid(): запрос = form.data["вопрос"] результат = чат (путь к файлу = путь к файлу, запрос = запрос) form.cleaned_data["ответ"] += результат запроса["ответ"] form.cleaned_data["оценка_уверенности"] = результат["оценка"] # если GET (или любой другой метод), мы создадим пустую форму еще: форма = Форма Вопроса() return render(request, "home.html", {"form": form}) Вот код моей формы:
класс ВопросФорма(forms.Form): вопрос = form.CharField(label="Вопрос", требуется=1, max_length=255) ответ = form.CharField(label="Answer", требуется=0, max_length=16384) доверие_score = form.IntegerField(label="Доверие", требуется=0, min_value=0, max_value=100)``` Линия result =chat(filepath=filepath, query=query) — это внешняя функция, которая успешно возвращает массив значений. Я могу успешно присвоить эти значения form.cleaned_data.
После этого я не смогу отобразить обновленные очищенные_данные обратно в форму.
Я иду совершенно неверным путем или просто упустил важную деталь?
Пытаюсь использовать Django Forms для отправки формы, изменяю некоторые значения и отправляю сообщение обратно на страницу. Я ожидаю появления измененных значений, но их нет.