Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax使用Django创建和更新Ajax表单_Jquery_Django_Django Forms - Fatal编程技术网

Jquery Ajax使用Django创建和更新Ajax表单

Jquery Ajax使用Django创建和更新Ajax表单,jquery,django,django-forms,Jquery,Django,Django Forms,我正在使用Django和传单应用程序创建一个web映射应用程序,该应用程序允许用户创建和编辑功能 新功能的创建很容易实现。在地图上绘制了一个新功能之后,一个引导模式会自动出现,该模式带有直接从我的模板呈现的django表单。用户填写表单并使用ajax调用将此表单发送到django视图 但我不知道如何编辑现有功能。更准确地说,我不知道如何显示ajax调用中的表单,该调用预先填充了数据库中已保存的数据 以下是工作流程: 1当用户选择现有功能时,将打开一个弹出窗口,其中显示以前的信息 2在弹出窗口的底

我正在使用Django和传单应用程序创建一个web映射应用程序,该应用程序允许用户创建和编辑功能

新功能的创建很容易实现。在地图上绘制了一个新功能之后,一个引导模式会自动出现,该模式带有直接从我的模板呈现的django表单。用户填写表单并使用ajax调用将此表单发送到django视图

但我不知道如何编辑现有功能。更准确地说,我不知道如何显示ajax调用中的表单,该调用预先填充了数据库中已保存的数据

以下是工作流程:

1当用户选择现有功能时,将打开一个弹出窗口,其中显示以前的信息

2在弹出窗口的底部有一个编辑链接,允许编辑现有信息

3当用户单击此链接时,我使用ajax调用查询django的视图,以获取与此对象相关的所有信息

4结果被发送到用户界面json,新的htmlform。。。并自动显示一个新的编辑表单

前三个步骤很好,但我不知道如何处理最后一个步骤。在你看来,什么是最好的方法

我不想重新加载页面以显示编辑表单,我真的希望保持在同一页面上。你知道我该怎么做吗


谢谢您的帮助。

django中的表单基本上都是html,请尝试在控制台中打印一个。您可以在视图中创建一个对象表单,并将其以json或其他形式作为字符串发送回客户端,然后打印它。要这样做,您需要已经对其进行了样式化

def ajax_post(self, request):
    form = MyFormClass(object_to_edit)
    return HttpResponse(form, content_type = "application/text")

本质上,您只需要使用Javascript客户端。我会在响应中使用JSON,并通过Javascript在客户端解析它,使用它来更新显示的页面。