我试图尽我所能遵循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'),
家.html延伸了一个底座.html其头牌有
{% include "meta/meta.html" %}
元.html有
{{meta}}
我的问题:我希望它在元标记中呈现文章的"标题"和"内容",但它将元标记呈现为<meta.views.Meta object at ******>
在页面正文中。
问题:如何使其呈现在文档的头部? 为了使元标记像预期的那样呈现,我缺少什么?
任何帮助将不胜感激。如果需要,我可以提供更多信息。谢谢
您应该在基本模板的标题中创建一个块:
<head>
...
...
{% block meta_extend %}
{% endblock %}
</head>
您可以在模板中打印元标记:
{% block meta_extend %}
{{ meta }}
{% endblock %}
或类似的东西:
{% block meta_extend %}
<meta name="description" content="{{ obj.description }}">
<meta name="title" content="{{ obj.title }}">
{% endblock %}
软件包信息/文档非常稀缺。
我注意到的是:
- 一次将社交网络减少到"1",帮助我简化控制台错误的内容
-
似乎有几个变量更喜欢通过"设置"(配置文件(进行设置,而不是在代码中设置它们。 META_SITE_PROTOCOL = 'https' META_SITE_DOMAIN = env('DJANGO_META_SITE_DOMAIN', default='www.InternationalExampleNetwork.com'( # META_USE_SITES = 真 # 警告:不要激活,因为它会使编译失败。
META_USE_OG_PROPERTIES = True FB_TYPE='' FB_APPID='' FB_PROFILE_ID='1111111' FB_PUBLISHER='@InternationalExampleNetwork' FB_AUTHOR_URL='/en/' FB_PAGES='' META_USE_TWITTER_PROPERTIES = False TWITTER_TYPE=11 TWITTER_SITE=env('DJANGO_META_SITE_DOMAIN', default='www.InternationalExampleNetwork.com') TWITTER_AUTHOR='International Example Network' # Is there still some use for Google+ ... ? META_USE_GOOGLEPLUS_PROPERTIES = False
- 到目前为止,OG 站点 (https://ogp.me/( 中的ME文档几乎没有帮助(未来会证明(。