【问题标题】:How to show model data in django template?如何在 django 模板中显示模型数据?
【发布时间】:2021-07-19 10:47:54
【问题描述】:

我正在处理项目,但遇到了问题。问题是 django 没有在模板中显示模型数据,我无法解决问题。 这是 models.py

 from django.db import models
 from django.contrib.auth.models 
 import User
 from django.utils.timezone 
 import now

class videopost(models.Model):

 sno=models.AutoField(primary_key=True)  slug=models.CharField(max_length=130)
title=models.CharField(max_length=255)
image = models.ImageField(upload_to='staticfiles/images/')
content=models.TextField()
timeStamp=models.DateTimeField(blank=True)


   def__str__(self):
        return self.title

这里是 views.py

def videoposts(request,slug):

    post=videopost.objects.filter(slug=slug).first()
    context={'post':post}

    return render(request,'videos/videopost.html',context)

这里是模板

{% extends 'base.html' %}
{% load static %}
{% load embed_video_tags %}
{% block title %}How to run python in mobile?{% endblock title %}
{% block basecss%}"{% static '/css/home.css' %}" {% endblock basecss %}
{% block extracss %}"{% static '/css/videos.css' %}" {% endblock extracss %}


{% block classvideos%} current {% endblock classvideos %}
{% block body %}
            
{{post.content}}            
{{post.title}}
{% endblock body %}

【问题讨论】:

  • 你得到的错误是什么?
  • 我没有收到任何错误。
  • 我运行服务器时模型数据未显示在模板中
  • 您要访问哪个 URL?您是否已使用要查询的 slug 值创建了模型实例?

标签: django django-models django-templates


【解决方案1】:

检查天气您的帖子对象是None。尝试打印。

【讨论】:

  • 我已经通过编辑数据库中的 slug 值解决了这个问题
  • 感谢您的帮助
【解决方案2】:

正如我在您的代码中看到的,您将 slug 视为 kwarg,实际上并没有关闭括号:

sno=models.AutoField(primary_key=True   slug=models.CharField(max_length=130)

如果不是复制错误,可以这样做:

sno=models.AutoField(primary_key=True)
slug=models.SlugField(max_length=130)

【讨论】:

  • 如果你做得很好并在 url 中传递了有效的 slug 尝试调试行 post=videopost.objects.filter(slug=slug).first() 以确保你从数据库中获取对象
  • 或者在该行之后写 print(post)
  • 我不明白这是什么问题
  • 这意味着它无法使用该 slug 从数据库中获取对象。如果你得到它,它将解决你的问题。尝试写 post=videopost.objects.get(slug=slug) 而不是 post=videopost.objects.filter(slug=slug).first() 并确保您在 url 中传递了有效的项目 slug
猜你喜欢
  • 2016-05-06
  • 2017-11-13
  • 2013-02-17
  • 2019-09-03
  • 1970-01-01
  • 2021-10-01
  • 1970-01-01
  • 2019-10-09
  • 2016-10-15
相关资源
最近更新 更多