【问题标题】:Django: How to load form to current html pageDjango:如何将表单加载到当前的 html 页面
【发布时间】:2020-08-23 04:07:23
【问题描述】:

我正在尝试将表单加载到我的页面中而不重定向到其他页面。 我正在使用 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 %}

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) }
);

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

【问题讨论】:

  • 您到底想达到什么目的?模板中的#badge 在哪里?
  • 没关系,当我点击它时,它会运行函数。

标签: jquery django django-forms django-templates


【解决方案1】:

找到解决方案: 在js中: 改成这样:

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

});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 2023-03-27
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多