【发布时间】:2020-05-15 06:45:17
【问题描述】:
我已尽力遵循Django-meta 文档。 将其添加到我的设置文件中的应用程序列表中
INSTALLED_APPS = [
...
'meta',
]
我的模型看起来像
from django.db import models
from meta.models import ModelMeta
class Article(ModelMeta, models.Model):
user = models.ForeignKey(User, default=1, null=True, on_delete=models.SET_NULL)
image = models.ImageField(upload_to='image/', blank=True, null=True)
title = models.CharField(max_length=120)
slug = models.SlugField(unique=True)
content = models.TextField(null=True, blank=True)
_metadata = {
'title': 'title',
'description': 'content',
}
我的 views.py 看起来像
def article_detail_view(request, slug):
obj = get_object_or_404(Article, slug=slug)
template_name = ['snmov/home.html']
context = {}
context['object'] = obj
context['meta'] = obj.as_meta()
return render(request, template_name, context)
这个视图的路径看起来像
path('<str:slug>/', article_detail_view, name='article_detail'),
home.html 扩展了一个 base.html,其 head 标签具有
{% include "meta/meta.html" %}
meta.html 有
{{meta}}
我的问题:
我希望它在元标记中呈现文章的“标题”和“内容”,但它将元标记呈现为
<meta.views.Meta object at ******>
在页面的主体上。
问题: 我怎样才能让它呈现在文档的头部? 为了使元标记呈现应有的效果,我缺少什么?
任何帮助将不胜感激。如果需要,我可以提供更多信息。谢谢
【问题讨论】:
标签: python django django-templates