javascript - 如何从 Django 模板中调用特定的 python 函数

标签 javascript jquery python ajax django

我有一个按钮可以将数据以特定格式从用户上传的文件复制到剪贴板。我已经将这些数据保存在数据库中,因为它是以单独的文件形式上传的。我目前拥有它,因此单击“复制到剪贴板”按钮后,它会链接到我的“views.py”中需要 HTTP 的 copy_data View 请求重定向到包含复制到剪贴板按钮的当前模板,如下所示:

HttpResponseRedirect('上一个/模板/此处')

这工作正常,但由于它链接到我的 copy_data View ,然后该 View 重定向到包含按钮的原始 View ,因此它会重新加载整个页面,这是不希望的。

我认为更好的解决方案是以某种方式将 python 函数直接绑定(bind)到按钮单击,而不是担心从一个 View 重定向到另一个 View 。

我发现了许多使用 ajax 的示例,但还没有找到适合我的用例的示例。我尝试将单击事件绑定(bind)到按钮,没有任何问题,但我一直在弄清楚如何将 python 函数与单击绑定(bind)。

如何在按下按钮时在 Django 模板中绑定(bind) python 函数?

最佳答案

很难确定,但我认为您在这里混合了同步/异步范例。当您使用 Ajax 生成请求时,您(通常)不想返回重定向,而是想返回数据。这可能是 JSON 数据或格式化为特定 MIME 类型的数据,甚至只是文本。从高层次来看,这可能是:

def copy_data(request):
    # get posted data
    submitted = request.POST
    # do whatever is necessary to create document
    data = ???
    # first, we'll need a response
    resp = HttpResponse() 
    # set the content type, if needed
    resp.content_type = 'text/???; charset=utf-8'
    # response has a file-like interface
    resp.write(data)
    return resp

显然,这需要做一些工作才能满足您的目的,但这是高级方法。

听起来您没有返回 JSON,但如果您需要的话,现在有一个特殊的响应对象。

关于javascript - 如何从 Django 模板中调用特定的 python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27993742/

相关文章:

javascript - jQuery 对话框不透明度

javascript - Ajax Php 相关下拉选择 - 如何将城市名称而不是 id 发布到数据库中(从数据提交)?

javascript - jQuery get() 方法如何支持灵活的参数索引?

python - 在 Python 数据类中使用描述符作为字段的正确方法是什么?

python - Keras 回归的模型建议

python - 如何用 Python 覆盖文件中间的一些字节?

javascript - 维护套接字监听器的标准方法

javascript - 如何使用 set vMin 在 AutoNumeric 输入中键入值

javascript - 如何从 valueChanges 中获取选定的对象,但仅将对象 ID 绑定(bind)到使用 Angular react 形式的形式?

javascript - 如何准确对齐复选标记 svg 图像旁边的文本,以便将其用作优缺点?