Восстановление данных из формы Django
Я впервые делаю Django Form challenge. Задача на данный момент состоит в том, чтобы просто из HTML шаблона получить информацию last_name и сохранить в DB из представления. Итак, у меня есть сценарий ниже:
models.py:
class Person(models.Model):
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
HTML шаблон, я помещу ниже только часть формы:
<form action="{% url 'store' %}" method="post">
{% csrf_token %}
<div class="form-group row">
<label for="last_name" class="col-sm-2 col-form-label">Last Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="last_name" placeholder="Last Name">
</div>
</div>
<div class="form-group row">
<div class="col-sm-10">
<button type="submit" class="btn btn-primary">Send Last Name</button>
</div>
</div>
</form>
И сам views.py... Я создал InsertLastName ModelForm для хранения данных из формы, но ничего не получилось. По какой-то причине, когда я попытался вызвать form.clean_data, я обнаружил ошибку о проверке is_valid(). Похоже, что я не получаю информацию из label.
class InsertLastName(forms.ModelForm):
class Meta:
model = Person
fields = ['last_name']
exclude = ['first_name']
def index(request):
persons = Person.objects.all()
context = {'persons': persons}
return render(request, '/index.html', context)
def store(request):
form = InsertLastName(request.POST or None)
print(form.cleaned_data['last_name'])
return HttpResponse("Storing a new Last Name object into storage")
Каким образом правильно получить информацию из метки last_name в моей форме? Я следую этой документации и кодирую из шаблона challenge.
Вы просто задаете имя attr для вашего входного html-тега Пример:
<input type="text" name="first">
Для получения ввода в функции store в view.py:
request.POST.get("first")
Добавьте это в html-шаблон вашей формы
{{persons}}