0

我的问题有点不寻常。在我的项目中,我有一个静态 js 文件,其中定义了许多函数。然后在每个模板中我都有一个脚本标签,我在其中定义了这个模板的必要变量,并从静态文件中调用我需要的函数。视图除了渲染模板什么都不做。所以我的模板看起来像:

{% extends "base.html" %}
{% load static %}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
{% block content %}
<script type="text/javascript">
$(document).ready(function(){
    var first_var = 'foo';
    var second_var ='bar';
    my_function(first_var,second_var);
 })
</script>
<div class="values"></div>
{% endblock %}
</body>

视图看起来像:

def my_view(request):
return render(request, 'my_app/my_template.html')

我必须做的是,不必在模板中手动编写脚本标签,而是拥有一个自定义模板标签,您可以将所需的变量传递给该标签并返回相应的脚本。我必须这样做的原因是让将使用该应用程序的人避免编写脚本而只写如下内容:

 {% my_function 'foo' as first_var %}

我真的不知道该怎么做,或者这是否是正确的方法。要点是使用自定义标签而不是编写脚本,那么您认为应该怎么做呢?

4

0 回答 0