Javascript 如何在一个Django视图中添加多个表单
我正在制作一个web应用程序,在其中的一个页面中,用户可以在表单中输入艺术家、城市、州和英里半径的名称,并从api调用返回JSON响应,并在服务器端进行解析。然后,我将此解析数据作为上下文变量传递回客户机,以便在返回的每个音乐会事件的列表中显示为元素。在每个列表元素(或每个音乐会)中,都有一个按钮,可以单击该按钮,允许用户通过smtp向某人发送音乐会邀请。这个按钮点击是一个事件,应该做两件事Javascript 如何在一个Django视图中添加多个表单,javascript,jquery,ajax,django,Javascript,Jquery,Ajax,Django,我正在制作一个web应用程序,在其中的一个页面中,用户可以在表单中输入艺术家、城市、州和英里半径的名称,并从api调用返回JSON响应,并在服务器端进行解析。然后,我将此解析数据作为上下文变量传递回客户机,以便在返回的每个音乐会事件的列表中显示为元素。在每个列表元素(或每个音乐会)中,都有一个按钮,可以单击该按钮,允许用户通过smtp向某人发送音乐会邀请。这个按钮点击是一个事件,应该做两件事 它必须在按钮中嵌入数据,并通过ajax调用将数据发送到服务器端 在页面上打开一个模式,用户可以在其中指定
var场馆={{场馆|安全};
变量日期={raw|dts | safe};
var ticket_statuses={{ticket_statuses}安全};
var ticket_url={{ticket_url | safe};
console.log(“艺术家名单长度”+场馆长度);
var$list=$(“”);
对于(变量i=0;i<1.length;i++){
$list.append(“- 艺术家:{form_artistSelect}}地点:“+场馆[i].城市+”,“+场馆[i].地区+”场馆:“+场馆[i].名称+
“日期:“+日期[i]+”票证状态:“+票证状态[i]+”
“+
{{%如果user.u已通过身份验证%}
“邀请朋友保存音乐会”+
{{%endif%}}
“ ”;
}
$(“#邀请”)。单击(函数(){
var-raw_-dt;
var rec_email;//必须从模式
var message;//必须从模式
var rec_name;//必须从模式
var-ticket\u-url;
var地点;
原始数据=美元(本).attr(“日期”);
地点=$(本).attr(“地点”);
票证url=$(this.attr(“票证url”);
$.ajax({
url:您的url,
方法:“POST”,
数据:{
}
成功:功能(数据){
}
});
});
编辑:
第一个表单的html代码:
<body id = "top">
<form id = "search" method= 'POST' action = ''>{% csrf_token %}
{{ form|crispy }}
<input type= 'submit' value= 'Submit'>
</form><br>
{%csrf_令牌%}
{{form | crispy}}
模式的html代码:
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Invitation</h4>
</div>
<div class="modal-body">
<div id="container"> </div>
<form id = "search" method= 'POST' action = ''>{%csrf_token %}
{{ form|crispy }}
<input type= 'submit' value= 'Submit'>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
&时代;
邀请
{%csrf_令牌%}
{{form | crispy}}
接近
我可能误解了您的意图,但您可以在django视图中添加任意数量的表单,只要它们都在模板中的同一
元素中呈现;我看不出在一个视图中哪里需要多个表单。@DanielRoseman抱歉,我忘了为两个表单添加代码。我现在已经更新了帖子。@ShangWang如果每个表单的forms.py中有不同的对象,我如何将模板中的每个表单映射到相应的表单对象?嗯,在将表单对象传递到模板之前,您肯定需要给每个表单对象一个名称,不是吗?就像你有一个表单a=FormA()
和表单b=FormB()
,然后在上下文中给每个对象命名:c=context({'form\u a':form\u a,'form\u b':form\u b})
。如果您不确定我在说什么,请阅读文档的这一部分:
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Invitation</h4>
</div>
<div class="modal-body">
<div id="container"> </div>
<form id = "search" method= 'POST' action = ''>{%csrf_token %}
{{ form|crispy }}
<input type= 'submit' value= 'Submit'>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>