Не удается получить данные формы с сайта для сохранения в базе данных Django MySQL

Я использую Django с базой данных MySQL. Все работает, но данные, которые я ввожу, не сохраняются в базе данных.

Это мой HTML:

Это мой views.py

def project(request):
    if request.method == 'POST':
        form = ProjectForm(request.POST or None)

        if form.is_valid():
            form.save()
            all_items = Project.objects.all
            return render(request, 'project.html', {'all_items': all_items})

    all_items = Project.objects.all
    return render(request, 'project.html', {'all_items': all_items})

Это мой forms.py:

class ProjectForm(forms.ModelForm):
    class Meta:
        model = Project
        fields = ['project_name', 'project_location',
                  'operator', 'date_started']

Это мой models.py

class Project(models.Model):
    project_name = models.CharField(max_length=30)
    project_location = models.CharField(max_length=30)
    operator = models.CharField(max_length=30)
    date_started = models.DateField()

Я не получаю никаких ошибок, но данные, которые я сохраняю, не сохраняются в базе данных. Может ли кто-нибудь понять, что мне нужно исправить?

В вашем view, который направляет вас на html страницу :

def project(request):
    if request.method == "POST":
      form = ProjectForm(request.POST)
      if form.is_valid():
         form.save()
      else:
         print("Invalid input from user") # for debugging only, handle according to your need

    form = ProjectForm()
    all_items = Project.objects.all()
    return render(request, 'project.html', {'form': form, 'all_items':all_items})

В вашем html

<form action="{% url 'url_name_for_your_project_view' %}" method="POST">

{% csrf_token %}

{{ form }}

<input type="submit" value="submit">
</form>
Вернуться на верх