Не могу получить информацию из формы POST - PullRequest
0 голосов
/ 31 марта 2019

Я новичок в Django и веб-разработке в целом. В настоящее время я работаю с формами, но не могу получить данные формы POST.

models.py

class Car(models.Model):
    brand = models.CharField(max_length=20)
    transmission = models.CharField(max_length=20)
    number_plate = models.CharField(max_length=7)
    price = models.IntegerField()
    available = models.BooleanField(default=True)

views.py

def car_detail_view(request):
form = BookCar()
obj = Car.objects.get(number_plate="1JZ3OG")
context = {
    'obj': obj,
    'form': form
}
return render(request, "car/car_detail.html", context)

def book_car(request):
    form = BuyCar(request.POST)
    if form.is_valid():
        instance = models.Car.objects.get(number_plate=request.POST.get('number_plate'))
        instance.available=False
        return redirect('../../')

forms.py

class BookCar(forms.ModelForm):

class Meta:
    model = Car
    fields = [
        'brand',
        'transmission',
        'number_plate',
        'price',
        'available'
    ]

car_detail.html

{% block content %}
<h1>{{ obj.brand }}</h1>
<p>{{ obj.number_plate }}</p>
<p>{{ obj.price }}</p>
<p>{{ obj.available }}</p>
<form class="form" action="." method="post">{% csrf_token %}
  <input type="hidden" value="{{obj.number_plate}}">
  <input type="submit" value="Book">
</form>
{% endblock %}

Каждый раз, когда я нажимал на кнопку «Книга» в форме, book_car не получает POST из формы. Я проверил учебники, но не могу это исправить.

1 Ответ

0 голосов
/ 31 марта 2019

В ваших взглядах попробуйте вот так

def book_car(request):
if request.method == 'POST':
    field = request.POST.get('your-field-name')

Также в вашем шаблоне вы должны сделать так:

<form action="/your-name/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit">

Подробнее: https://docs.djangoproject.com/en/2.1/topics/forms/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...