Django: метод is_valid () всегда возвращает false при использовании с ModelForm - PullRequest
0 голосов
/ 27 марта 2020

Метод is_valid () всегда возвращает false, когда я использую формы .ModelForm в forms.py для создания формы, так что я могу сохранить все значения, полученные из формы, которая вводится пользователем. Этот код отлично работает с формами. не с form.ModelForm

forms.py

from django import forms
from .models import student

class student_data(forms.ModelForm):
    name=forms.CharField(widget=forms.TextInput,max_length=20)
    id=forms.IntegerField()
    address=forms.CharField(widget=forms.TextInput,max_length=50)

    class Meta():
        model=student
        fields=['name','stu_id','address']

вот модели. *html файл для формы

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div>
        <form name="form" action="/payment/show/" method="POST">
            {% csrf_token %}
            {{form.as_p}}
            <button type="submit">Add Me</button>
        </form>
    </div>
</body>
</html>

1 Ответ

1 голос
/ 27 марта 2020

измените свой код, как показано ниже, и попробуйте

def my_data(request):
    if request.method == "POST":
        myform = student_data(request.POST)
        if myform.is_valid():
            myform.save()
            return redirect('/')
    else:
        myform = student_data()
    return render(request, '----.html', {'myform': myform})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...