@AprilSnow

Как к данной форме приклеить ajax?

Нужно преклеить ajax, чтобы страница не обновлялась при передаче post-запроса на сервер.

Модель и форма:

from django.db import models
from django import forms

class Cinema(models.Model):
	theater_name = models.TextField(max_length = 35, blank=False)
	theater_address = models.TextField(max_length=35, blank=False)
	cinema_name = models.TextField(max_length=35, blank=False)


class CinemaForm(forms.ModelForm):
    class Meta:
        model = Cinema
        fields = ('theater_name', 'theater_address', 'cinema_name')


Представление:

def cinema(request):
	form = CinemaForm(request.POST or {})
	if request.POST and form.is_valid():
		form.save()
		return redirect("/")
	return render(request, "theatername.html", {"cinema": Cinema.objects.all(), "form": form})


Шаблон:

{% block theater %}
	{% for theater in cinema %}
	<table class="table table-bordered">
	<thead>
		<tr>
		  <th>Адрес</th>
		  <th>Название кинотеатра</th>
		</tr>
	  </thead>
	<tbody>
		<tr>
		  	<td>{{ theater.theater_address }}</td>
		  	<td>{{ theater.theater_name }}</td>
		</tr>
	  </tbody>
	</table>
	<br>
	{% endfor %}
	<form method="post">
	{% csrf_token %}
	{{ form.as_ul }}
	<input class="btn btn-success" type="submit" value="Добавить">
	</form>
{% endblock %}


Как это сделать? Подскажите хотя бы направление, очень мало манов на связку django + ajax
  • Вопрос задан
  • 323 просмотра
Решения вопроса 1
очень мало манов на связку django + ajax

Для джанги и и обычный запрос и ajax, выглядят практически одинаково (нормальные библиотеки добавят в запрос заголовок https://docs.djangoproject.com/en/1.8/ref/request-...), отличия начнутся в том что вам в зависимости от ответа сервера нужно написать поведение на странице, достаточно предусмотреть чтоб сервер вернул вам всё что потребуется для динамического изменения страницы(и происходить оно будет так как вы его напишете, и джанго уже тут не причём)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы