有没有什么方法可以访问JS文件中的Django模板变量和URL标签,这样用户就不能检查数据和链接了



我想从我的javascript文件访问Django模板变量和URL标记。目前,我的做法如下-

<script>
const addcommentlink = "{% url 'post:add_comment'%}";
const postid = '{{post.id}}';
const deletecommentlink = "{% url 'post:delete_comment' %}";
const editlikelink = "{% url 'post:edit_like' %}";
const profilelink = "{% url 'instagram:profile' 'name' %}";
</script>
<script src="{% static 'post/js/post_details.js' %}"></script>

但我想直接从CCD_ 1文件访问它。有办法做到这一点吗?

您不能在javascript文件中使用Django模板语言。

您只能在django模板中使用变量、标记和过滤器。

模板是一个文本文件。它可以生成任何基于文本的格式(HTML、XML、CSV等(

如果要在javascript文件中访问{% url 'name' %}的结果,必须首先在模板中呈现它(可能将其存储为数据属性(。

一个粗略的例子:

<div id="comment" data-add-link="{% url 'post:add_comment'%}" data-delete-link="{% url 'post:delete_comment' %}"></div>

在您的post_details.js:中

const addcommentlink = $('#comment').data('add-link');
const deletecommentlink = $('#comment').data('delete-link');

然而,用户将能够检查数据链接。如果您需要模板中的任何内容,那么您必须假设它对其他用户可见。

最新更新