Как правильно оформить models.py для БД квадратного уравнения

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

models.py:

from django.db import models


class Quadratics(models.Model):    
    a = models.IntegerField('Введите коэффициент а')
    b = models.IntegerField('Введите коэффициент b')
    c = models.IntegerField('Введите коэффициент c')
    # roots = models.TextField(default='') # здесь я пробовал сделать пустое поле, 
                                           # что бы в views.py сменить значение на высчитанное

    def __str__(self):
        return f"{self.a}, {self.b}, {self.c}"

views.py:

from django.shortcuts import render
from .models import Quadratics
from .forms import QuadraticsForm



def getRoots(a, b, c):
    from cmath import sqrt
    a, b, c = float(a), float(b), float(c)
    d = pow(b, 2) - (4 * a * c)
    return (-b - sqrt(d)) / (2 * a), (-b + sqrt(d)) / (2 * a)


def quadratic(request):
    error = ''
    if request.method == 'POST':
        form = QuadraticsForm(request.POST)
        coefs = form.data['a'], form.data['b'], form.data['c']
        roots = getRoots(*coefs)
        context = {
        'form': form,
        'error': error,
        'roots': roots,
        }
        if form.is_valid():
            form.save()
    form = QuadraticsForm()
    return render(request, 'quadratic/quadratic.html', context)

# def newton(request):
#     return render(request, 'quadratic_equation/newton.html')

html файл:

{% extends 'main/base.html' %}

{% block title %}
Розв'язування квадратного рівняння
{% endblock %}

{% block content %}
    <h1>Розв'язування квадратного рівняння</h1>
    <h2>
        <div class="verybigtext align="left">ax<sup>2</sup> + bx + c = 0</div>
    </h2>
    <form method="post">
        {% csrf_token %}
        <h5>a:{{ form.a }}</h5>
        <h5>b:{{ form.b }}</h5>
        <h5>c:{{ form.c }}</h5>
        <button type="submit" class="btn btn-success">Порахувати</button>
        <span>{{ error }}</span> 
        <div>
            <label>Корінь рівняння: {{ form.roots }}</label>
            {{ form.roots }}
        </div>
    </form>
    
    <!-- </main></h1>
    <p style="text-align:left; font-size:27px">Історія:</p>
    {% for el in equations %}
        <div class="alert alert-warning mt-2">
            <h3>{{ el.a }}</h3>
            <p>{{ el.roots }}</p>
        </div>
    {% endfor %} -->
{% endblock %}

Вот как выглядит сам сайт введите сюда описание изображения

Главный вопрос: как правильно посчитать и вывести на сайт результат.


Ответы (0 шт):