无法在 Django 中写入动态元标记

Unable to write Dynamic meta tag in django

大家好,我想在 Django 中打印动态元标记值。 我有 _header.html 作为所有页面通用的部分文件。 在该头文件中,我想添加元标记。 头文件包含在 base.html 中,并且 base 扩展了所有其他页面我想要不同页面的不同元标记。以下代码适用于 _header.html 文件

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
"here i want dynamic meta tags"
<title>Random Blog</title>
<link rel="stylesheet" 
 href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="{% static 'css/main.css' %}">
</head>

您可以在您的主 html 中包含块元数据。 然后对于每个模板视图,您可以在上下文中添加元数据(或直接在每个 html 中)

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{% block meta %}
"here i want dynamic meta tags"
{% endblock meta %}
<title>Random Blog</title>
<link rel="stylesheet" 
 href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="{% static 'css/main.css' %}">
</head>

然后在视图中

def some_view(request):
    my_custom_meta = 'Some custom meta'
    return render(request, 'my_template.html', {'my_custom_meta': my_custom_meta})

然后在您的其他模板中:

{% include base.html %}
{% block meta %}
{{ my_custom_meta }}
{% endblock meta %}

你只能将单个对象呈现为元列表视图或过滤器视图 dosent 支持我认为是这样,但这是你的解决方案

def meta (request,pk):
     metadata=Meta.objects.get(id=pk)
     return render (request, 'html file name', context)