gpt4 book ai didi

django - 让Django的views.py返回并执行javascript

转载 作者:行者123 更新时间:2023-12-02 19:35:15 24 4
gpt4 key购买 nike

所以我正在使用 django 和文件上传,我需要一个 javascript 函数在文件上传后执行。我的views.py中有一个文件上传处理程序,如下所示:

def upload_file(request):   
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
for f in request.FILES.getlist('fileAttachments'):
handle_uploaded_file(f)
return HttpJavascriptResponse('parent.Response_OK();')
else:
return HttpResponse("Failed to upload attachment.")

我从 http://djangosnippets.org/snippets/341/ 找到了一个 django 片段我将 HttpJavascriptResponse 类放入 view.py 代码中。它看起来如下:

class HttpJavascriptResponse(HttpResponse):
def __init__(self,content):
HttpResponse.__init__(self,content,mimetype="text/javascript")

但是,当我上传文件时,浏览器简单地呈现“parent.Response_OK();”在屏幕上而不是实际执行 JavaScript。 Chrome 给我警告:“资源解释为文档,但使用 MIME 类型 text/javascript 传输”

有没有办法让views.py执行脚本?

最佳答案

更好的方法是将 mime 传递给 HttpResponse 对象。

参见文档:https://docs.djangoproject.com/en/3.2/ref/request-response/#django.http.HttpRequest.content_type .

    return HttpResponse("parent.Response_OK()", content_type="application/x-javascript")

注意 - Django 的某些早期版本使用 mimetype 而不是 content_type:

    return HttpResponse("parent.Response_OK()", mimetype="application/x-javascript")

关于django - 让Django的views.py返回并执行javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6964244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com