Django: Как загрузить форму на текущую html страницу - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь загрузить форму на свою страницу без перенаправления на другие страницы. Я использую jquery. но ничего не происходит, и я уверен, что упускаю что-то очень маленькое. Итак .. У меня есть всплывающее окно, в которое я хочу загрузить темплет. мой шаблон, который пытается отобразить в моем div:

1) я не знаю, нужно ли мне использовать {% block content%}

EDIT: Да, мне нужно!

форма дня. html (темплет)

{% block content %}

<form action="{% url 'dayform' %}" method='post'>
{% csrf_token %}
{{form.as_p}}

<button name='submit'>Submit</button>
</form>

{% endblock %}

urls.py

path('calendar/dayform', views.addnewevent, name='dayform'), 

views.py

 def addnewevent(request):
  if request.method != 'POST':
    form = Eventform()
  else:
    form = Eventform(request.POST)
    if form.is_valid():
        form.save()
        return redirect('controlpanel')

  context = {'form': form}
  return render(request, 'studentform/dayform.html', context)

jquery

$('.badge').get(
    "{% url 'dayform' %}",
    function(data) { $('#myform').html(data) }
);

значок можно щелкнуть по ссылке, я не Я не знаю, следует ли использовать «получить» или «щелкнуть»

1 Ответ

0 голосов
/ 08 мая 2020

нашел решение: в js: замените на это:

$(document).on('click', '.badge', function () {
    $.get(
        "{% url 'dayform' %}",
        function(data) { $('#myform').html(data) })

});
...