Django: как сделать ту же страницу после отправки формы - PullRequest
0 голосов
/ 07 июня 2018

У меня есть файл index.html, в котором есть кнопка отправки.Мне нужна функциональность, заключающаяся в том, что когда я нажимаю кнопку отправки, функция python должна вызываться в фоновом режиме, но представление рендеринга index.html должно оставаться прежним.Прямо сейчас каждый раз, когда я нажимаю кнопку «Отправить», загружается новая копия index.html.Вот мои коды

index.html

<form action = "submit" method = "post">
     <p>latitude <input type = "text" id = "Latbox" name = "Latbox" /></p>
     <p>Longitdue <input type = "text" id = "Lonbox" name = "Lonbox" /b></p>
     <p><input type = "submit" value = "submit" /></p>
</form>

Мой файл views.py выглядит следующим образом:

from django.shortcuts import render 
from django.views.generic import TemplateView

class HomePageView(TemplateView):
   def get(self, request, **kwargs):
     return render(request, 'index.html', context=None)


def submit(request):
  LAT=request.POST['Latbox']
  LON= request.POST['Lonbox']
  print (LAT, LON)
  return render(request,'index.html',context=None)  

Я новичок в django.Могу ли я получить указатель или ответ, как решить эту проблему.

1 Ответ

0 голосов
/ 08 июня 2018

Используйте одно и то же представление для выполнения обоих действий.

<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <p><input type = "submit" value = "submit" /></p>
</form>

В Forms.py:

class LocationForm(forms.Form):
    latitude = form.CharField()
    longitude = form.CharField()

Затем на views.py вы делаете что-то вроде этого:

class HomePageView(TemplateView):
    template_name = "index.html"

    def get(self, request, **kwargs):
        form = LocationForm()
        return render(request, self.template_name, {"form": form})

    def post(self, request, **kwargs):
        form = LocationForm(request.POST)
        if form.is_valid():
            pass  # do something with form.cleaned_data
        return render(request, self.template_name, {"form": form})

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

...