Django 3.0.8
Выбранной системе комментирования нужно что-то вроде этого:
<div id="anycomment-app"></div>
<script>
AnyComment = window.AnyComment || []; AnyComment.Comments = [];
AnyComment.Comments.push({
"root": "anycomment-app",
"app_id": 15,
"track_get_params": true,
"language": "en"
})
var s = document.createElement("script"); s.type = "text/javascript"; s.async = true;
s.src = "https://cdn.anycomment.io/assets/js/launcher.js";
var sa = document.getElementsByTagName("script")[0];
sa.parentNode.insertBefore(s, s.nextSibling);
</script>
То есть нужен div и скрипт. Я бы предпочел размещать скрипты в конце тела, даже если включен asyn c.
@register.inclusion_tag('scripts/scripts.html')
def comments(context) -> str:
html_tag = '<div id="anycomment-app"></div>'
scripts_str = ' <script>
AnyComment = window.AnyComment || []; AnyComment.Comments = [];
AnyComment.Comments.push({
"root": "anycomment-app",
"app_id": 15,
"track_get_params": true,
"language": "en"
})
var s = document.createElement("script"); s.type = "text/javascript"; s.async = true;
s.src = "https://cdn.anycomment.io/assets/js/launcher.js";
var sa = document.getElementsByTagName("script")[0];
sa.parentNode.insertBefore(s, s.nextSibling);
</script>
'
return {"html_tag": html_tag,
"scripts": scripts_str,}
base. html
{% load static %}
{% load general %}
{% load scripts %}
{% include 'general/header.html' %}
<body>
{% everywhere position="body_start" %}
{% social_subscribe %}
{% block breadcrumbs %}
{% endblock %}
<div class="content">
{% block content %}
{% endblock %}
</div>
{% include 'general/footer.html' %}
footer. html
{% load scripts %}
{% block scripts %}
{% endblock %}
</body>
</html>
сообщение. html
{% extends 'general/base.html' %}
{% load scripts %}
{% block content %}
{% endblock %}
{% block scripts %}
{{ block.super }}
{% endblock %}
Проблема
Как я могу поместить тег div в содержимое и тег скрипта в скрипты?