Я пытаюсь получить POST-запрос, но django отвечает GET-запросом.

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

{% csrf_token%} Название элемента {{form.item_name}} Количество {{form.quantity}}
      <div class="form-group">      

        <label for="address">Address</label>
        {{form.address}}
      </div>
      <div class="modal-footer d-flex justify-content-center">
        <button type="submit" id="submit" class="btn btn-success" data-dismiss="modal" >Donate</button>
      </div>
    </form>

Это мой файл представления

#this is my view
@login_required(login_url='loginPage')
def home(request):

    form = DonateForm()
    print(request.user.id)
    get_user = user_info.objects.get(id=request.user.id)
    print('Inside Home View')
    print(get_user)
    print(request)
    if request.method == 'POST':
        form = DonateForm(request.POST)
        print('Inside Home Page')
        if form.is_valid():
            print('Form is valid!!')
            user = form.save()
            Donate.objects.create(user_name = user,item_name=form.cleaned_data['item'],quantity=form.cleaned_data['itemquantity'])
            
        else:
            messages.add_message(request,messages.INFO,'Your details are Incorrect!!')
    
    else:
        print('No Post Request!!')
    
    return render(request,'donate/home.html',{'form':form,'get_user':get_user})

Вот мой Models.py


class Donate(models.Model):
    
    user_name = models.ForeignKey(user_info,on_delete=models.CASCADE)
    item_name = models.CharField(max_length=30,null=False , blank=False, default ="None")
    quantity = models.IntegerField(null=False,blank=False,default=0)
    address = models.CharField(max_length=100 , null=False , blank= False, default="None")
    
    def __str__(self):
        return f"{self.user_name.user.username} donated {self.item_name}"

Попробуйте добавить метод в <form>, например так:

<form method="post" action="#">
  {% csrf_token %}
  ......
  <button type="submit" id="submit" class="btn btn-success" data-dismiss="modal" >Donate</button>
</form>
Вернуться на верх