我使用Django 2.1和Python 3.7。 我在表中有一些数据:
<table class="table" border="1" id="tbl_posts">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody id="tbl_posts_body">
<tr id="rec-1">
<td><span class="sn">1</span>.</td>
<td><INPUT type="text" name="txt1" value="Name"/></td>
<td><INPUT type="text" name="txt2" value="0"/></td>
<td><a class="btn btn-xs delete-record" data-id="1"><i class="glyphicon glyphicon-trash"></i></a></td>
</tr>
</tbody>
</table>
用户可以对其进行编辑,并且必须将其保存到Django中的数据库中。 我该怎么做?我是Django的初学者。我可以使用表格或ajax或任何其他建议吗?但我想保留这种结构。
答案 0 :(得分:2)
您可以执行表单或ajax。只要数据量相对较小(这种形式是),我就不会想到使用<form>
上传数据的不利之处。
模板
<form method="post">
{% csrf_token %}
<table class="table" border="1" id="tbl_posts">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody id="tbl_posts_body">
<tr id="rec-1">
<td><span class="sn">1</span>.</td>
<td><INPUT type="text" name="txt1" value="{{ txt1}}"/></td>
<td><INPUT type="text" name="txt2" value="{{ txt2}}"/></td>
<td><a class="btn btn-xs delete-record" data-id="1"><i class="glyphicon glyphicon-trash"></i></a></td>
</tr>
</tbody>
</table>
<input type="submit" value="Submit">
</form>
视图
def limitless(request):
template = "limitless.html"
context = {'txt1': "Name", 'txt2': 0}
if request.method == 'POST':
txt1 = request.POST.get("txt1")
txt2 = request.POST.get("txt2")
print(txt1 + " " + txt2)
#code to add variables to your models can go here
context = {'txt1' : txt1, 'txt2': txt2}
return render(request, template, context)
答案 1 :(得分:1)
您可以像这样制作表格:
<form action="" method="post">
{% csrf_token %}
<table class="table" border="1" id="tbl_posts">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody id="tbl_posts_body">
<tr id="rec-1">
<td><span class="sn">1</span>.</td>
<td><input type="text" id="id_txt1" name="txt1" value="Name"></td>
<td><input type="text" id="id_txt2" name="txt2" value="0"></td>
<td><a class="btn btn-xs delete-record" data-id="1"><i class="glyphicon glyphicon-trash"></i></a></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit"></td>
</tr>
</tbody>
</table>
</form>
请注意, 标记的 name 属性的值必须与您定义的字段名称相同模型。