将表格数据从模板发送到 django 中的 view.py
Posted
技术标签:
【中文标题】将表格数据从模板发送到 django 中的 view.py【英文标题】:Send table data from template to view.py in django 【发布时间】:2017-03-20 09:31:18 【问题描述】:我将一个列表(即data_code
)从view.py
传递到一个html 文件,然后我使用for 循环在列表中打印表格的数据。表<input>
中有一个可编辑的列,我想在用户填写我的view.py
后获取这些数据。所以有人知道怎么做吗?
我想在view.py
中获取所有x.2
。它正在打印一些默认值,但在用户使用后我又想要它。
代码如下:
<table class="table table-bordered datatable">
<thead class="table-head">
<tr>
<th>No</th>
<th>Code Point</th>
<th>Reference</th>
<th>Character</th>
<th>Text</th>
<th>Description</th>
</tr>
</thead>
<tbody>
% for x in data_code %
<tr class="table-row">
<td> forloop.counter </td>
<td><label> x.0 </label></td>
<td><input id="codepoint_input" type="text" value=x.2 size=3 title="Text"></td>
<td><label> x.3</label></td>
<td>x.4</td>
</tr>
% endfor %
</tbody>
</table>
【问题讨论】:
查找 django 表单 @e4c5 你不能给我一些提示吗? 这就是我所做的 我阅读了 django 表单,但没有得到任何好的示例。所以如果你能举个例子就好了。 【参考方案1】:第一个任务是简单地使用 jquery 获取那些输入的值...
$(#codepoint_input).keypress(function(e)
if(e.which == 13)
// your custom code here.
var tablestring = $("#tableForm").serialize();
$.post( "/backend", tablestring );
);
终于可以在视图函数中获取值了...
def backend(request):
print(request.POST)
【讨论】:
请您详细说明您的代码。表示e.which==13
会做什么。它是否能够获取所有值,例如如果循环运行 10 次,那么将有 10 个输入可能有些已更改,有些具有默认值?如果是,它会是一个列表还是什么?
@tenstormavi 看到每次用户输入的东西...keypress
着火了,我只跟踪Enter_Key
所以如果按下那么你可以得到正确的值吗?
如果您想获取所有第 N 个值并传递给视图,那么我可以提供帮助...
好的,但我想要同时获得所有值,无论是更改还是默认值。我必须进一步处理我的代码中的所有值。那么我如何同时获得所有 10 个值@Raja Simon
好的,告诉我该怎么做? @Raja Simon【参考方案2】:
编辑: 使用字典类型,这样就可以通过key给每个输入框起一个唯一的名字,并在value parm中使用对应的值。
在视图中,可以使用for循环遍历整个字典,并使用key从模板中获取值。
在您的模板中:
<form name = "yourForm" method="GET" action="/" class = "main">
% for key, value in json.data_code%
<td>
<input name = " key " id="codepoint_input" type="text" value= value size=3 title="Text">
<input type="submit" id = "amountbtn" style="visibility:hidden;" >
</td>
% endfor %
</form>
在你看来:
key1 = request.GET.get('key1')
....
【讨论】:
它是否能够获取所有值,例如如果循环运行 10 次则将有 10 个输入,可能有些已更改,有些有默认值?如果是,它会是一个列表还是什么? @tenstormavi 啊,我明白了。我猜会有 x 数量的行和 x 数量的输入框。在这种情况下,我会进行编辑。以上是关于将表格数据从模板发送到 django 中的 view.py的主要内容,如果未能解决你的问题,请参考以下文章