Django;如何将javascript连接到数据库?

时间:2018-07-29 15:25:20

标签: javascript python django

我正在使用Django进行项目,现在我正在尝试将js适应项目。我对js不熟悉,我想知道如何使用js操作db。例如,我想使用js创建删除功能。当前,当我按下删除按钮时,我跳到另一页,然后必须再次按下删除按钮。但是我要做的是按下删除按钮,然后弹出窗口确认并删除某些内容。一般如何将js改编为Django?

这是当前的方式

首先,我必须按下按钮并跳至另一页面

<button style="display: inline;" onclick="window.location='{% url 'blog:delete_entry' entry_id=entry.id %}'" class="btn btn-link">Delete</button>

然后我必须再次按下另一页上的按钮。

<button type="submit" class="btn btn-outline-danger" id="delete-button">Delete</button>

这是views.py

def delete_entry(request, entry_id):

    entry = Entry.objects.get(id=entry_id)

    if request.method != 'POST':
        form = EditEntryForm(instance=entry)
    else:
        form = EditEntryForm(instance=entry)
        entry.delete()
        return HttpResponseRedirect(reverse_lazy       ('blog:my_entry'))
    return render(request, 'blog/delete_entry.html', {'entry': entry, 'form': form})

有人可以给我提示吗?

1 个答案:

答案 0 :(得分:1)

我可能是错的,但是我通常只将javascript用于前端。您正在使用Django框架在Python中进行后端操作...如果不使用Python来操作数据库,那将是愚蠢的。尽管我使用了Flask,这是mysql的模板...

https://github.com/rootVIII/flask_mysql_template/blob/master/template.py

即使是Flask而不是Django,但想法还是一样。

您的按钮(或任何表单按钮)应具有与其关联的Django端点(基本上是Django函数的路径)。这样,当按下按钮时,将运行后端的Django / Python代码。在那里,您可以在后端的Python代码中执行逻辑和数据库业务。

抱歉,Flask示例...但这是上面链接中index.html文件中的Flask端点...请注意表单操作如何与端点/ login_register关联

/ login_register是按下表单输入按钮时运行的内容。这是后端的功能...在您的情况下,它可能命名为delete_entry

<ion-item-divider>

所以基本上我要说的是您的按钮不应调用Javascript。它应该在后端调用Python函数。而且,您不需要像上面提到的那样制作一个完整的Rest API来完成此操作