Django - 在模板中显示数据

时间:2012-02-29 09:57:51

标签: python django django-templates

我写了一个Django应用程序,用于获取名称,dob和图像上传。数据似乎成功存储在数据库中。但是当我尝试检索它并在模板中显示时...相应的页面看起来是空白的。还有一件事,图像存储在示例文件夹中,我不知道如何在模板中显示它。

Models.py

class BasicModel(models.Model):
    name = models.CharField(max_length=200)
    dob = models.DateField()
    photo = models.ImageField(upload_to='sample')

class BasicModelForm(ModelForm):
    class Meta:
            model = BasicModel

Views.py

def BasicView(request):
    if request.method == 'POST':
            form = BasicModelForm(request.POST, request.FILES)
            if form.is_valid():
                    data = form.save()
                    return preview(request, data.id)
    else:
            form = BasicModelForm()
    return render_to_response("unnamed.html", {'form': form}, context_instance=RequestContext(request))

def preview(request, id):
    obj = get_object_or_404(BasicModel, pk=id)
    return render_to_response("preview.html", {'obj': obj})

preview.html

<html>
<body>
{{ obj.name.as_p }}
{{ obj.dob.as_p }}
{{ obj.photo.as_p }}
</body>
</html>

任何人都可以帮我这个......我是Django的新手。

谢谢!

2 个答案:

答案 0 :(得分:2)

您必须访问模型属性。模型不是形式。

所以:

<html>
<body>
{{ obj.name }}
{{ obj.dob }}
{{ obj.photo }}
</body>
</html>

答案 1 :(得分:1)

您可以使用https://docs.djangoproject.com/en/dev/howto/static-files/设置获取图片路径。对于未在模板上显示的数据,请检查数据是否已提交并保存在数据库中。