python – 上传django服务器的API

python – 上传django服务器的API,第1张

概述我正在玩一个 django应用程序来为我的照片集提供服务.我想我除了如何实现一个API,我可以用来从我的计算机上自动从可可程序(例如Apple Aperture插件)或 python脚本上传图像时,几乎所有事情都被弄清楚了.目标: >能够在我的计算机上输入用户名和密码,并让脚本登录到服务器 >为每个图像提交文件以及少量元数据 >为每个上传的图像返回唯一ID,以防我想更新服务器上的文件 经过一些研究 我正在玩一个 django应用程序来为我的照片集提供服务.我想我除了如何实现一个API,我可以用来从我的计算机上自动从可可程序(例如Apple Aperture插件)或 @L_403_1@脚本上传图像时,几乎所有事情都被弄清楚了.目标:

>能够在我的计算机上输入用户名和密码,并让脚本登录到服务器
>为每个图像提交文件以及少量元数据
>为每个上传的图像返回唯一ID,以防我想更新服务器上的文件

经过一些研究,这似乎是各种REST框架可以帮助的东西,虽然它们看起来像是一个解决这个简单问题的大锤.两个问题:

>如何在上传文件之前正确验证我的用户脚本?
>我如何实际上传文件?客户端和服务器REST API通常专注于Json / xml交互,似乎对文件没有帮助.

任何更一般的指导或示例将不胜感激.

解决方法 最简单的方法是让一个受 this snippet for basic auth保护的视图简单地验证一个表单.表单可以验证元数据,并包含一个文件上载字段,该字段将自动处理在服务器上接收和存储文件.然后,只需使用POST上传数据即可.

例如

class fileUploadForm(Form)    Title = CharFIEld()    picture = fileFIEld()@logged_in_or_basicauth(realm="fileUpload")def upload_vIEw(request):    if request.method == "POST"        data = fileUploadForm(request.POST,request.fileS)        if data.is_valID():            #save out the file to the webserver here        else:            raise Exception('Data not valID! dID you forget enctype="form/multipart"?')    else:       return httpResponseForbIDden("You do not have permission to access this resource")

这样做的好处是您可以轻松地将此视图用作网页的目标.

客户端:

python:请参阅http://www.voidspace.org.uk/python/articles/authentication.shtml以与基本身份验证服务器进行交互.

卷曲:

curl http://name:passwd@domain/upload/ -T uploadablepic.jpg -d Title=holIDay&date=2012-10-02
总结

以上是内存溢出为你收集整理的python – 上传django服务器的API全部内容,希望文章能够帮你解决python – 上传django服务器的API所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1001044.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存