首页 > 解决方案 > Django:如何将表单加载到当前的 html 页面

问题描述

我正在尝试将表单加载到我的页面中而不重定向到其他页面。我正在使用 jquery。但什么也没发生,我打赌我错过了一些非常小的东西。所以..我有一个弹出窗口,我希望将模板加载到其中。我的模板试图在我的 div 中显示:

1) 我不知道我是否需要使用 {% block content %}

编辑:是的,我必须!

dayform.html(模板)

{% block content %}

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

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

{% endblock %}

网址.py

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

视图.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) }
);

徽章是可点击的链接,我不知道我应该使用“get”还是“click”

标签: jquerydjangodjango-formsdjango-templates

解决方案


找到解决方案:在js中:更改为:

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

});

推荐阅读