【问题标题】:Django get_object_or_404 in details view not returning all the fields from the Page model详细视图中的 Django get_object_or_404 未返回页面模型中的所有字段
【发布时间】:2020-05-17 03:55:40
【问题描述】:

我想要 view.py details 函数中的所有字段。详细信息功能看起来像

**Page views.py**
def page_detail(request, slug):

    details = get_object_or_404(Page, slug=slug)

    return render(request,'page/details.html', {'details': details})

**Page models.py**
class Page(models.Model):

    title = models.CharField(max_length=200)
    slug = models.SlugField(max_length=200,blank=True)
    dscription = models.TextField(blank=True) 
    image = models.ImageField(upload_to='images/%Y/%m/')
    ...
    ...

    def __str__(self):

        return self.title

    def get_absolute_url(self):
        return reverse("page:page_detail", kwargs= {"slug": self.slug })

想在views.py details函数中获取所有的字段详细信息,但这取决于模型

str 函数。如果我增加这个 str 函数中字段的数量,我可以获得所有这些字段的值,否则不能。

如何显示所有字段。为什么 get_object_or_404 依赖于 str 请描述一下,先谢谢了。

【问题讨论】:

  • 请向我们展示您的模板代码
  • {% extends 'base.html' %} {% load static %} {% block body_block %} {{details.title}} {{details.description}} {% endblock %}
  • 您没有在 {{details.title}} {{details.description}} 字段中获取数据吗?
  • 如果我在 views.py 中打印详细信息以在控制台中检查它,它只会打印标题。不是其他字段,如果我增加 str 为: return '{} by {}'.format(self.title, self.created) '只有 2 个字段 r 不是所有字段。
  • 模板的输出是什么?

标签: python django


【解决方案1】:

我也尝试过同样的事情。我的错误是一个空白的蛞蝓引起了混乱。但我怀疑这可能是这里的原因.. 您的描述中有拼写错误!

在模型中: 类页面(models.Model):

title = models.CharField(max_length=200)
slug = models.SlugField(max_length=200,blank=True)
***dscription*** = models.TextField(blank=True) 
image = models.ImageField(upload_to='images/%Y/%m/')
...
...

鉴于: {{details.描述}}

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 2021-07-04
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 2015-02-13
    • 1970-01-01
    相关资源
    最近更新 更多