无法在Django中的模板中呈现视图

玛丽亚

我无法在模板中呈现视图。我想我已经尝试了一切。一切正常,除了在模板上进行数据渲染外。

我的model.py:

from django.db import models
class Driver(models.Model):
    name = models.CharField(max_length=150)
    surname = models.CharField(max_length=150, default='')

    def __str__(self):
        return self.name

我的views.py:

from django.shortcuts import render
from zoo.models import Driver


def MyView(request):
    drivers = Driver.objects.all()
    return render("zoo/base.html", {"drivers": drivers})

我的模板:

{% load staticfiles %}
{% load render_bundle from webpack_loader %}
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Example</title>
    {% render_bundle 'app' 'css' %}
  </head>
  <body>
     {{ drivers }}

     {{ drivers.name }}

     {% for driver in drivers %}
         {{driver.name}}

</body>
</html>

我的数据库有315个驱动程序,其中包含驱动程序的名称和姓氏。

项目结构:

Project 
      app
         setting.py
         __init__.py
          ...
      zoo
         templates
              base.html
         __init__.py
         models.py
         views.py
          ...
詹姆斯·托勒夫森

views.py

views.py变化:

return render("zoo/base.html", {"drivers": drivers})

至:

return render(request, "zoo/base.html", {"drivers": drivers})

模板

您需要for在模板中关闭循环。关于这一点的好信息值得在https://docs.djangoproject.com/en/3.1/ref/templates/builtins/上阅读

{% for driver in drivers %}
    {{ driver.name }}
{% endfor %}

我也从您提供的代码和您的解释中猜测,这些解释{{ drivers.name }}可能不会呈现。在您遍历driversQuerySet之前,您将能够访问各个driver字段(例如driver.name)。

档案结构

最佳做法是为模板和静态文件命名。Django的教程在https://docs.djangoproject.com/en/3.1/intro/tutorial03/上讨论了这一点如果执行此操作,则目录结构将从此(当前拥有的内容)更改为:

Project 
      app
         setting.py
         __init__.py
          ...
      zoo
         templates
              base.html
         __init__.py
         models.py
         views.py
          ...

对此:

Project 
      app
         setting.py
         __init__.py
          ...
      zoo
         templates
            zoo
               base.html
         __init__.py
         models.py
         views.py
          ...

最后,我强烈建议您将模板重命名为特定于此特定视图的名称。例如,如果这是您的索引视图,则可以将其命名index.html或者也许zoo.html与您的视图名称相对应。

这不是必需的,但是如果您要扩展base.html文件,则在构建此应用程序的过程中将很有用这很方便,因为它允许您缩减样板html,而只关注每个模板/视图的核心功能。它还具有使所有扩展相同base.html文件的不同页面之间提供一致的用户体验更加容易的优势

要了解有关此内容的更多信息,请访问https://docs.djangoproject.com/en/3.1/ref/templates/language/

重要说明:如果执行此操作,请不要忘记将调用更改为renderin,views.py以适应重命名的模板文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

访问从 django 中的模板呈现模板的视图

来自分类Dev

无法在模板中呈现Django表单

来自分类Dev

无法在Django中的模板上呈现ChoiceField

来自分类Dev

Django:无法在模板中呈现上传的图像

来自分类Dev

Django基于类的视图未在模板中呈现变量

来自分类Dev

无法在模板中呈现日期

来自分类Dev

Django模板中的树视图

来自分类Dev

循环以将 Django 视图上下文呈现为模板中的表

来自分类Dev

子模板未在Django中呈现

来自分类Dev

防止在Django模板中呈现Unicode字符

来自分类Dev

Django UserCreationForm未在模板中呈现错误

来自分类Dev

防止在Django模板中呈现Unicode字符

来自分类Dev

Django 联系表单未在模板中呈现

来自分类Dev

Django表单未在视图或外壳中呈现

来自分类Dev

在模板中以字符串形式呈现的Django列表-无法访问列表值

来自分类Dev

无法将 django 上下文数据解压缩到呈现热图的模板中

来自分类Dev

Django无法呈现登出模板

来自分类Dev

Django无法呈现登出模板

来自分类Dev

无法在Django的子模板中包含模板

来自分类Dev

为什么我的Django视图无法从Django模板中创建的标签接收数据?

来自分类Dev

Django-在不同模板中重用视图

来自分类Dev

将类视图放在模板django中

来自分类Dev

从 django 中的单个视图渲染多个模板

来自分类Dev

存储在变量中的图像路径无法在模板中正确呈现

来自分类Dev

AngularJS模板在MSIE 10中无法正确呈现

来自分类Dev

Django聚合。如何将其价值呈现到模板中?

来自分类Dev

Django,数据表未在HTML模板中呈现表

来自分类Dev

重定向后,表单未在模板中呈现(django)

来自分类Dev

django表单未在模板中呈现。输入栏不显示

Related 相关文章

热门标签

归档