Django форма для ввода данных пользователем в базу данных

Я пытаюсь создать форму, с помощью которой пользователи могут создавать новые заказы. Пользователь дает заказу имя, отправляет форму, а затем автоматически заполняет дату создания и пользователя, который его создал.

Дополнительно я хочу, чтобы форма находилась на той же странице, что и содержимое базы данных, чтобы под ней отображался список всех заказов. После отправки формы страница должна обновляться, чтобы показать новую запись.

Мне нужна небольшая помощь, чтобы связать все это вместе. На данный момент я не могу добиться отображения формы на сайте, чтобы пользователи могли ее заполнить.

models.py

from django.db import models
from django.contrib.auth.models import User
from django.forms import ModelForm

class Order(models.Model):
    order_name = models.CharField(max_length=100, unique=True, null=True, blank=True)
    created_at = models.DateTimeField(auto_now_add=True)
    created_by = models.ForeignKey(User, related_name='Project_created_by', on_delete=models.DO_NOTHING)

    def __str__(self):
        return self.order_name

class Ce_Base(models.Model):
    ce_hostname = models.CharField(max_length=15)
    new = models.BooleanField()
    location = models.TextField()

    order_reference = models.ManyToManyField(Order)

class OrderForm(ModelForm):
    class Meta:
        model = Order
        fields = ['order_name']

views.py

from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from .models import Order
from .models import Ce_Base
from .forms import OrderForm

@login_required
def home(request):
    context = {
        'order': Order.objects.all()
    }
    return render(request, 'orchestration/order_create.html', context)

@login_required
def orderprocessing(request):
    context = {
        'ce_base': Ce_Base.objects.all()
    }
    return render(request, 'orchestration/order_processing.html', context)

@login_required
def edit_order(request):
   if request.method == 'POST':
      form = OrderForm(request.POST)
   else:
       form = OrderForm()
   return render(request, 'orchestration/order_create.html', context=context)

forms.py

from django import forms
from django.forms import ModelForm

class OrderForm(ModelForm):
    order_name = forms.CharField(max_length=100)

содержание моей html-страницы

{% extends "orchestration/base.html" %}
{% block content %}
  <h1>Input Form</h1>
    <form method="post">
        {{ edit_form.as_p }}
        {% csrf_token %}
        <button type="submit" >Save</button>
    </form>
  <h1>Orders</h1>
  {% for each_order in order %}
    <p>Order Name: {{ each_order.order_name }}</p>
    <p>Created On: {{ each_order.created_at }}</p>
    <p>Created By: {{ each_order.created_by }}</p>
  {% endfor %}
{% endblock content %}
Вернуться на верх