【问题标题】:Django - Showing the data in templatesDjango - 在模板中显示数据
【发布时间】:2012-03-18 19:28:09
【问题描述】:

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

模型.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 新手。

谢谢!

【问题讨论】:

  • as_p 用于表单,不输出对象字段。摆脱并重试。
  • 试试&lt;img src='{{ obj.photo.url }}' title='{{ obj.name }}'/&gt;
  • @christophe31 我已经完成了你的语法,它没有错误,但图像没有显示在页面中。这就像卸载的图像图标。

标签: python django django-templates


【解决方案1】:

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

所以:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-11-12
      • 2016-12-24
      • 2011-07-10
      • 1970-01-01
      • 2016-05-06
      • 1970-01-01
      • 2013-02-17
      • 2021-04-21
      • 2014-07-18
      相关资源
      最近更新 更多