gpt4 book ai didi

django - 从 ModelForm 保存数据

转载 作者:行者123 更新时间:2023-12-04 05:27:18 24 4
gpt4 key购买 nike

我是 Django 的新手,我正在尝试使用 ModelForm 保存数据。模板“Vlozit”有一个 ModelForm,当提交时,我希望将数据保存在 DB 中并重定向到 base.html,它实际上从 DB 加载数据并列出输出。问题是一切正常,但数据没有保存。请帮我找到我缺少的东西。谢谢。

这是模型:

class Customer(models.Model):
Name = models.CharField(max_length=30)
Description = models.CharField(max_length=150)
Creation_Date = models.DateField(default=datetime.now)
Active = models.BooleanField(default=False)

def __unicode__(self):
return self.Name

Customers = models.Manager()

这是模型表格:
class CustomerForm(forms.ModelForm):
Description = forms.CharField(widget=forms.Textarea)

class Meta:
model = Customer

这是 View :
def vlozit(request):
if request.method == 'POST':
form = CustomerForm(request.POST, instance=Customer)
if form.is_valid():
form.save(True)
return HttpResponseRedirect(reverse('Base.html'))
else:
form = CustomerForm()
return render_to_response("Vlozit.html", {'form': form}, context_instance = RequestContext(request))

这是模板“Vlozit”:
{% extends "base.html" %}

{% block head %}
{{ form.media }}
<script>
$(function() {
$( "#id_Creation_Date" ).datepicker();
});
</script>
{% endblock %}

{% block title %}{{block.super}} - Vlozit{% endblock %}
{% block content %}
<div id="content">
<form method="POST" action="{% url url_home %}">
{% csrf_token %}
<table>
<tr>
<td>Name</td>
<td>{{ form.Name }}</td>
</tr>
<tr>
<td>Description</td>
<td>{{ form.Description }}</td>
</tr>
<tr>
<td>Creation Date</td>
<td>{{ form.Creation_Date }}</td>
</tr>
<tr>
<td>Active</td>
<td>{{ form.Active }}</td>
</tr>
</table>
<input type="submit" value="Vlozit">
</form>
</div>
{% endblock content %}

最佳答案

正如 Timmy 在评论中所说,您没有发现表单无效的情况。您不仅不会在模板中显示错误,而且如果 form.is_valid(),您甚至不会重新显示模板。是假的。将 View 的最后一行移回一个缩进级别,并添加 {{ form.errors }}到模板。

关于django - 从 ModelForm 保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13046488/

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