Hello guys, I'm studying django and tried to do site, I can crate review system

Views.py

from django.shortcuts import render from django.views.generic.base import View from .models import Dish, Snack, Desserts, Lastcourses, Reviews from .forms import ReviewForm

class DishView(View): def get(self, request): dish = Dish.objects.all() snack = Snack.objects.all() desserts = Desserts.objects.all() lastcourses = Lastcourses.objects.all() reviews = Reviews.objects.all()

    if request.method == "POST":
        form = ReviewForm(request.POST)
        if form.is_valid():
            form = form.save(commit=False)
            form.name = request.name
            form.new = request.text
            form.save()
            return redirect(DishView)
    else:
        form = ReviewForm()


    return render(request, 'index.html',
                  {'Dish': dish, 'Snack': snack, 'Desserts': desserts, 'Lastcourses': lastcourses,
                   'Reviews': reviews}, )

forms.py

from django import forms

from .models import Reviews from captcha.fields import ReCaptchaField

class ReviewForm(forms.ModelForm): """Форма отзывов""" captcha = ReCaptchaField()

class Meta:
    model = Reviews
    fields = ("name", "email", "text", "captcha")
    widgets = {
        "name": forms.TextInput(attrs={"class": "form-control border"}),
        "email": forms.EmailInput(attrs={"class": "form-control border"}),
        "text": forms.Textarea(attrs={"class": "form-control border"})
    }

index.html

<form action="." method="post">
    {{ form.as_p }}
    {% csrf_token %}
    <p><input type="submit" value="Add comment"></p>
</form>
      <h1 style="margin:0 57%">Отзывы</h1>
    <input type="hidden" name="parent" id="contactparent" value="">
    <div class="dfv" style="display:flex; padding: 5%;   justify-content: space-around;  flex-wrap: wrap;align-items:center; box-shadow:4px 4px 16px gold;width: 80%;margin:8% 18% 0">
    <div class="form-group editContent">
     <label for="contactcomment" class="editContent"  placeholder=" Сообщение" >
      Your comment *
      </label>

      <textarea class="form-control border"  style="padding: 20px;align-items: center;width: 100%;"rows="5" name="text"
      id="contactcomment" required=""></textarea>
      </div>

       <div class="d-sm-flex">
       <div class="col-sm-6 form-group p-0 editContent ">

       <label for="contactusername" class="editContent" placeholder="Ваше имя*">
       Name *
       </label>

        <input type="text" class="form-control border" name="name" style="padding: 12px;width: 100%;align-items: center;"
        id="contactusername" required="">
          </div>

          <div class="col-sm-6 form-group ml-sm-3 editContent" placeholder="Ваш e-mail*" >
          <label for="contactemail" class="editContent">
          Email *
          </label>

         <input type="email" class="form-control border" name="email" style="padding: 12px;width: 100%;align-items: center;"
          id="contactemail" required="">
          </div>
          </div>
        </div>

          <button type="submit"
          class="mt-3 btn btn-success btn-block py-3" style=" padding: 10px; box-shadow:4px 4px 16px gold;width: 50%; margin: 5% 37%; align-items: center;">
          Send
          </button>

    </div>
Вернуться на верх