gpt4 book ai didi

html - 如何在 Django 2.1 中将表存储到数据库?

转载 作者:行者123 更新时间:2023-11-28 02:20:26 25 4
gpt4 key购买 nike

我在 html 中有一个表,我需要使用 View 、模型和表单将它保存到数据库中。以下是部分代码:

template.html

<form method="post" action="/images/save/" enctype="multipart/form-data">
{% csrf_token %}
<table class="table" border="1" id="tbl_posts">
<tbody id="tbl_posts_body">

{% for name, age in lines %}
{% with i=forloop.counter0 %}
{% with i|add:1|stringformat:"s" as i_id %}
{% with id="rec-"|add:i_id %}

<tr id={{id}}>
<td><span class="sn">{{ i|add:1 }}</span>.</td>
<td><INPUT type="text" name="txt1" value=""\></td>
<td><INPUT type="text" name="txt2" value=""\></td>
</tr>

{% endwith %}
{% endwith %}
{% endwith %}
{% endfor %}

</tbody>
</table>
<input type="submit" value="Submit">
</form>

模型.py:

class Names(models.Model):
name= models.CharField(max_length=255)
age= models.IntegerField()

view.py:

def save_form(request):
template = "template.html"
context = {'txt1': "Name", 'txt2': 0}
if request.method == 'POST':
dname= request.POST.get("txt1")
dage= request.POST.get("txt2")
names1= Names(name=dname, age=dage)
names1.save()

return render(request, template, context)

问题:所以,它工作得很好,但问题是它只保存最后一行。我认为有一种方法可以输入整个数据。我需要在表中输入所有数据,而不仅仅是最后一行。有人可以帮助我吗?

更新:lines 是两个列表的组合的 zip,我从文件中读取它。

最佳答案

这两行是在表单中发送的。

<td><INPUT type="text" name="txt1" value=""\></td>
<td><INPUT type="text" name="txt2" value=""\></td>

但是,您使用相同的“名称”来发送多行的值。结果是您只能使用 View 中的当前代码获得这些值一次。你会想给他们每个人一个唯一的名字(只需做这样的事情:

<td><INPUT type="text" name="txt{{forloop.counter}}" value=""\></td>

然后在您的 View 中遍历它们。

关于html - 如何在 Django 2.1 中将表存储到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57968955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com