我正在使用Django做项目,现在我正在尝试将js应用到项目中。我不熟悉js,我想知道如何使用js来操作db。例如,我想使用js来创建delete函数。目前,当我按下delete按钮时,我会跳转到另一个页面,然后我必须再次按delete按钮。但我想要做的是按下删除按钮,然后弹出窗口来确认和删除某些内容。一般情况下,如何将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})有谁能给我一些建议吗?
发布于 2018-07-29 23:46:01
我可能错了,但我通常只使用javascript作为前端。你正在用Python和Django框架做后端工作……如果不使用Python来操作数据库,那将是愚蠢的。这是mysql的一个模板,尽管我使用了Flask...
https://github.com/rootVIII/flask_mysql_template/blob/master/template.py
尽管它是Flask而不是Django,但它的想法仍然是相同的。
您的按钮(或任何表单按钮)应该有一个关联的Django端点(基本上是Django函数的路径)。这样,当按下按钮时,就会运行后端的Django/Python代码。在那里,您可以在后端使用Python代码执行逻辑和数据库业务。
很抱歉给出了烧瓶的例子...但这里是来自上述链接的index.html文件中的Flask的端点...注意表单操作是如何与端点/login_register相关联的
/login_register是按下表单输入按钮时运行的程序。它是后端的一个函数...在您的示例中,它可能被命名为delete_entry
<form action = /login_register method="POST" id="userform">
<fieldset>
<!-- some labels and input values here -->
<input type="submit" name="submit" value="login/register" id="submit"/><br>
</fieldset>
</form>所以基本上我想说的是你的按钮不应该调用Javascript。它应该在后端调用Python函数。不,您不需要创建一个完整的rest API来完成上述操作
https://stackoverflow.com/questions/51581792
复制相似问题