meta 标签显示在 <body> 而应该放在 <head>

meta tags shows in <body> While Should be placed in the <head>

我有一个基于django框架的网站。我想给网站添加meta标签有条件:

"""Definition of models."""

from django.db import models

class Pages_Meta(models.Model):
      Page_name = models.TextField(null=False)
      Page_meta  = models.TextField(null=False)
      page_title = models.TextField(null=False)

而html页面是:

<html>
   <head>
       <title> {{ title }} - Farhad Dorod  </title>
       {{ meta }}
   </head>
</html>
<body>  ...  </body>

而urls.py是:

path('index/',
     LoginView.as_view(
         template_name='app/index.html',
         extra_context=
         {
             'title': Pages_Meta.objects.get(id = 1).page_title,
             'meta' : Pages_Meta.objects.get(id = 1).Page_meta,
         }),
     name='index')

结果:所有元标签都显示在 body 而应该放在 head

enter image description here

使用 Django 的模板标签 safe,您可以将内容批准为 html 安全,允许其呈现为 html。像这样:

{{ meta|safe }}