检索和呈现通过Django forms API提供的数据
我已经用Django准备了一份基本的联系表格。数据保存成功。但是我想将保存的数据(所有db列)检索为html表,并将其显示在我的站点上(而不是在管理界面中) 模型如下:检索和呈现通过Django forms API提供的数据,django,forms,Django,Forms,我已经用Django准备了一份基本的联系表格。数据保存成功。但是我想将保存的数据(所有db列)检索为html表,并将其显示在我的站点上(而不是在管理界面中) 模型如下: class ContactForm(forms.Form): name = forms.CharField(label='Your name') place = forms.CharField(max_length=100,label='Your place') message = forms.CharF
class ContactForm(forms.Form):
name = forms.CharField(label='Your name')
place = forms.CharField(max_length=100,label='Your place')
message = forms.CharField(label='Your message')
url = forms.URLField(label='Your Web site', required=False)
options = forms.BooleanField(required=False)
day = forms.DateField(initial=datetime.date.today)
视图只接受post数据并重定向到“感谢”页面
我尝试执行了
ContactForm.objects.all()
,但得到的错误是:ContactForm的objects属性不存在
听起来您需要创建一个。django模型描述了一个数据库表,并创建了用python处理该表的功能。如果要保存数据,则需要将其保存在数据库中,并且需要一个模型
试试像这样的东西-
from django.db import models
class Contact(models.Model):
name = models.CharField(label='Your name', max_length=128)
place = models.CharField(max_length=100,label='Your place')
message = models.CharField(label='Your message', max_length=128)
url = models.URLField(label='Your Web site', required=False)
options = models.BooleanField(required=False)
day = models.DateField(initial=datetime.date.today)
然后,不要创建从form
继承的表单,而是要从ModelForm
继承(有关模型表单的更多信息,请参阅)。它应该非常简单,因为您的所有字段都已经在模型上进行了描述-
from django.forms import ModelForm
class ContactForm(ModelForm):
class Meta:
model = Contact
您需要一个处理保存表单()的视图。然后,您将能够执行
Contact.objects.all()
,并按照Cathy答案中的示例显示它。或者,请查看-一个用于显示表格的有用插件。views.py
def view_name (request):
contacts = Contact.objects.all()
return render(request, 'page.html', {
'contacts': contacts
})
html
<html>
....
<body>
<table>
{% for contact in contacts %}
<tr>
<td>{{contact.name}}</td>
<td>{{contact.place}}</td>
<td>....</td>
<td>....</td>
</tr>
{% endfor %}
</table>
</body>
</html>
....
{contacts%%中的联系人为%s}
{{contact.name}
{{contact.place}
....
....
{%endfor%}
您可以在模型上而不是表单上调用objects.all()。你能给你的问题加上型号代码吗?