Django模板:模板中的显示对象不使用视图

亚历克斯·温克勒

这几乎感觉太简单了,但是我试图在模板中显示一个对象,并且不能使用基于函数/类的视图,因为该视图必须位于base.html模板(用于所有视图)上。

当我在视图中将对象定义为变量时,我完全可以解决这个问题。我的问题真的是关于不使用view.py时如何使其工作

base.html

<!-- works -->
{{ user.username }}
<!-- doesn't work -->
{{ custom_model.field }}

我签出了Django模板语言,并以他们的故事模型为例。


附加信息希望解决Willem Van Onsem的问题。

我将在导航栏中添加整个网站的标题。也许有更好的方法可以做到这一点?

models.py

class Headline(models.Model):
    description = RichTextUploadingField(blank=True, null=True)
    active = models.BooleanField(default=False)

context_processors.py#在问题创建后添加

def active_headline(request):
    from portfolios.models import Headline
    return {'headline': Headline.objects.filter(active=True)}

settings.py#问题创建后的添加

TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                # for site-wide headlines
                'portfolios.context_processors.active_headline'
            ],
        },
    },
]

base.html

{{ headline | truncatechars_html:150 | safe }}
  • 在这里出现了一些渲染问题,其中HTML不显示,但queryset文本和方括号[]显示在我的页面上。
威廉·范昂塞姆

您可以通过使用自定义上下文处理器[Django-doc]将额外的数据“注入”到模板中

因此,您可以定义一个上下文处理器,例如在app/context_processors.py

# app/context_processors.py

def some_model_object(request):
    from app.models import SomeModel
    return {'my_object': SomeModel.objects.first()}

然后在设置中,添加自定义上下文处理器:

# settings.py

# …

TEMPLATES = [
    {
        # …
        'OPTIONS': {
            'context_processors': [
                # …
                'app.context_processors.some_model_object'
            ]
        }
        # …
    }
]

如果现在渲染模板,则Django会自动将自定义上下文处理器的词典中返回的项目添加到模板的上下文中。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

显示 Django 模板中的总对象数

来自分类Dev

Django:在不使用站点框架的情况下在模板/电子邮件中显示网站名称

来自分类Dev

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

来自分类Dev

Django的。获取模板中当前使用的对象

来自分类Dev

使用Django渲染模板中的ForeignKey对象

来自分类Dev

Django模板对象未显示

来自分类Dev

不使用UIHint属性显示的显示模板

来自分类Dev

如何在Django模板中显示多个视图?

来自分类Dev

Django-在一个模板中显示多个视图

来自分类Dev

使用AJAX在模板的表格中显示Django视图返回的字典数据

来自分类Dev

使用模型和视图在 django html 模板中显示聚合总和

来自分类Dev

Django模板中的树视图

来自分类Dev

图像不使用模板 django 中的 createview 上传

来自分类Dev

Django视图模板无法显示模型数据

来自分类Dev

遍历Django模板中的对象

来自分类Dev

模板中的 Django 对象查找

来自分类Dev

Django,在模板中显示ValidationError

来自分类Dev

在Django的模板中显示ManyToManyField

来自分类Dev

检测Django模板中模板使用的语言

来自分类Dev

检测Django模板中模板使用的语言

来自分类Dev

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

来自分类Dev

使用related_name 调用django 模板中的对象属性

来自分类Dev

无法在Django模板中显示图像(使用ImageField)

来自分类Dev

使用django在模板页面中显示列表值

来自分类Dev

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

来自分类Dev

将类视图放在模板django中

来自分类Dev

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

来自分类Dev

Django:使用模板视图中的变量

来自分类Dev

Django使用全局模板和视图

Related 相关文章

热门标签

归档