Возможно, вам следует использовать модели.С моделью, ваш код будет выглядеть примерно так:
в forms.py:
from django import forms
from .models import Employees
class EmployeeForm(forms.ModelForm):
class Meta:
model = Employees
в views.py:
from django.shortcuts import render
from django.http import HttpResponseRedirect
from .forms import EmployeeForm
def add_employee(request):
form = EmployeeForm(request.POST or None, request.FILES or None)
if form.is_valid():
form.save()
return HttpResponseRedirect('/thanks/')
return render(request, 'your_template.html', {'form': form})
Это стандарт/ лучший способ работы с формами, которые связаны с моделями.request.POST or None
- это трюк, чтобы избежать необходимости проверять request.method == 'POST'
.
Это простой случай, вы можете легко добавить выбранные поля, которые будут включены / исключены из вашей модели, добавить дополнительные поля для конкретной формы.добавьте дополнительную логику для запуска до сохранения модели или добавьте пользовательскую проверку.
См. документацию по ModelForms
: https://docs.djangoproject.com/en/dev/topics/forms/modelforms/