【问题标题】:How to retrieve Django form object inside html to use AJAX later on如何在 html 中检索 Django 表单对象以稍后使用 AJAX
【发布时间】:2018-06-03 19:46:09
【问题描述】:

我知道如何使用 AJAX 在 Django 中保存表单,但不知道如何从 Django 中检索表单对象并将表单注入 HTML。

我需要通过 return HttpResponse(jhjson, {'content_type' : 'application/json'}) 代替 return render(request, 'task/mobileInventory.html', {'form': form})

查看.py

def get_try(request, sid):
    print (sid)
    member = get_object_or_404(TaskMaster, pk=sid)
    form = CreateTaskMaster(instance=member)
    return render(request, 'task/mobileInventory.html', {'form': form})

【问题讨论】:

  • 我不清楚你在问什么。您是否想知道如何使用 ajax 请求从表单发送数据而不是通过表单传递数据,或者您想知道如何接收请求,或者完全是别的什么?
  • 我想知道如何从 django 获取表单数据到 ajax
  • 你的意思是,如何从 django 获取 JSON 数据?

标签: jquery python ajax django django-templates


【解决方案1】:

创建 Django 表单对象

首先,您需要创建一个 Django Form 对象。

from django import forms

class SomeForm(forms.Form):
    some_field = forms.CharField(label='Some Field', max_length=100)

渲染 Django 表单

创建表单对象后,可以如下在 HTML 中渲染它。

from django.shortcuts import render

def form_view(request):
    # import your form here
    form = SomeForm()
    # you are rendering your form object as some_form inside an html
    return render(request, 'your_html_file', {'some_form': form})

在 HTML 中使用 Django 表单

最后,您可以使用 Django 模板语言的双括号表示法来注入您的表单。

<form action="your_ajax_call">
    {{ some_form }}
    <input type="submit" value="Submit" />
</form>

【讨论】:

  • 这可能听起来很傻,但我对编程很陌生,我想知道我们如何处理 ajax 和 HTML 部分
  • 而且我收到一个表单无法序列化的错误
  • 我刚刚更新了我的答案。你也应该先阅读文档。 docs.djangoproject.com/en/2.0/topics/forms
猜你喜欢
  • 2015-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-12
  • 2014-09-13
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
相关资源
最近更新 更多