【问题标题】:Upload a file in Django and then send it somewhere else through REST? [closed]在 Django 中上传文件,然后通过 REST 将其发送到其他地方? [关闭]
【发布时间】:2010-09-19 17:33:25
【问题描述】:
我正在构建一个简单的 Django 应用程序,它将使用 scribd 来显示文档。我想要一个页面,管理员可以通过该网站将文档上传到 scribd,因为在它进入 scribd 之前我需要知道一些关于它的事情。最好/最简单的方法是什么,显示一个上传页面,然后通过他们的 api 的docs.upload 方法将上传的文件发送到 scribd?我对这个 Python/Django/REST API 有点陌生,如果一次有太多问题,我很抱歉。
【问题讨论】:
标签:
python
django
api
rest
scribd
【解决方案1】:
这是很多问题。
使用 Django 处理文件上传非常简单,请参阅File Uploads documentation 示例。总之你可以通过request.FILES['file']访问上传的文件。
要调用 scribd api,您可以使用 urllib2;有关说明,请参阅此Hackoarama page。 urllib2 可能有点复杂,但一旦你掌握了它,它就可以工作。
您可以直接从 Django 视图中调用 scribd api,但最好将其分开:从 Django 视图中将文件保存在磁盘上的某个位置,并在消息传递系统上放置“上传此”消息(例如beanstalkd)。让一个单独的进程接收消息并将文件上传到 scribd。这样您就可以保护您的 http 进程和用户免受访问 API 的任何问题以及相关的延迟。