Django не сохраняет данные в базу данных

У меня есть очень базовые знания о Django, но столкнувшись с проблемой, она привела меня в полное замешательство.

Я пытаюсь создать 3D плоттер. Все отображается правильно, но когда я нажимаю Submit, он никогда не сохраняется в базе данных, кроме указанного default value, которое я предоставил.

Мой models.py

from django.db import models

class Value(models.Model):
    eq_input = models.CharField(max_length=20, default='x**2 + y**2')
    color = models.CharField(max_length=20, default='Magma')

Мой forms.py

from django import forms
from .models import Value

class ViewForm(forms.ModelForm):
    Equation = forms.CharField(max_length=20, label='Equation')
    Color = forms.CharField(max_length=20,label='Color')
    class Meta:
        model = Value
        fields = {
            'Equation',
            'Color'
         }

Мой views.py

from django.shortcuts import render
from django.http import HttpResponse
from .models import Value
from .forms import ViewForm

def home_view(request):
    if request.method == "POST":
        form = ViewForm(request.POST)
        if form.is_valid():
            form.save()
    else:
       form = ViewForm()
     context = {
           'form': form
        }
   return render(request, "home.html", context)

Мой home.html

<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <title>3D Graph Plotter</title>
</head>
<body>
     <center><h1>This is a 3D plotter</h1></center>
     <center>
     <form action="." method="POST">{% csrf_token %}
         {{ form.as_p }}
    <input type="submit" name="Save" />
        </form>
   </center>
  </body>
  </html>

и мой urls.py

from django.contrib import admin
from django.urls import path, include
from equation.views import eq, home_view

urlpatterns = [
          path('admin/', admin.site.urls),
          path('', home_view, name='hv')
     ]

Можете ли вы указать мне на проблему?

Поместите {{ form.errors }} {{ form.non_field_errors }} в ваш home.html и посмотрите, есть ли ошибки в данных, которые temp постит в представление. Возможно, данные не действительны, слишком общий пароль или что-то еще.

<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <title>3D Graph Plotter</title>
</head>
<body>
     <center><h1>This is a 3D plotter</h1></center>
     <center>
    <form action="." method="POST">{% csrf_token %}
         {{ form.as_p }}
         {{ form.errors }}
         {{ form.non_field_errors }}
    <input type="submit" name="Save" />
        </form>
   </center>
  </body>
  </html>
Вернуться на верх