我正在使用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})
有人可以给我提示吗?
答案 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来完成此操作