Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript onclick函数在django模板中不起作用(最明显的问题是js代码,我已经验证了django的正确性)_Javascript_Html_Django - Fatal编程技术网

javascript onclick函数在django模板中不起作用(最明显的问题是js代码,我已经验证了django的正确性)

javascript onclick函数在django模板中不起作用(最明显的问题是js代码,我已经验证了django的正确性),javascript,html,django,Javascript,Html,Django,我想做的是创建一个类似Instagram心脏的按钮。当单击like按钮时,页面不能重新加载,它必须简单地用指定的颜色填充。这是我在页面中呈现按钮的方式: <a href="#" onclick= "favPost('{% url 'events:post_unfavorite' post.id %}', {{ post.id }} );return false;"

我想做的是创建一个类似Instagram心脏的按钮。当单击like按钮时,页面不能重新加载,它必须简单地用指定的颜色填充。这是我在页面中呈现按钮的方式:

                    <a href="#" onclick=
                        "favPost('{% url 'events:post_unfavorite' post.id %}', {{ post.id }} );return false;"
                        {% if post.id not in favorites %} style="display: none;" {% endif %}
                        id="favorite_star_{{post.id}}">
                    <span class="fa-stack" style="vertical-align: middle;">
                    <i class="fa fa-star fa-stack-1x" style="color: yello;"></i>
                    <i class="fa fa-star-o fa-stack-1x"></i>
                    </span>
                    </a>
                    <!-- the second href -->
                    <a href="#" onclick=
                         "favPost('{% url 'events:post_favorite' post.id %}', {{ post.id }} );return false;"
                        {% if post.id in favorites %} style="display: none;" {% endif %}
                        id="unfavorite_star_{{post.id}}">
                    <span class="fa-stack" style="vertical-align: middle;">
                    <i class="fa fa-star fa-stack-1x" style="display: none; color: yello;"></i>
                    <i class="fa fa-star-o fa-stack-1x"></i>
                    </span>
                    </a>
问题是,当我单击渲染的星形时,什么也没有发生,并且我在浏览器控制台中出现以下错误:

未捕获引用错误:未定义favPost

有人能帮我吗?
谢谢

听起来,无论您在哪里定义JS方法
favPost
都没有包含在使用该方法的视图渲染中。确保在该视图中包含应用程序JS。能否显示javascript代码以及如何/在何处将其包含在html模板中?@name andy我解决了这个问题
@login_required
@csrf_exempt
def AddFavoriteView(request, pk):
    if request.method == "POST":
        print("Add PK",pk)
        t = get_object_or_404(Post, id=pk)
        t.num_likes = t.num_likes + 1
        fav = Fav(user=request.user, post=t)
        try:
            fav.save()  # In case of duplicate key
        except Post.DoesNotExist:
            pass
        return HttpResponse()

@login_required
@csrf_exempt
def DeleteFavoriteView(request, pk):
    if request.method == "POST":
        print("Delete PK",pk)
        t = get_object_or_404(Post, id=pk)
        t.num_likes = t.num_likes - 1
        try:
            fav = Fav.objects.get(user=request.user, post=t).delete()
        except Post.DoesNotExist:
            pass
        return HttpResponse()