使用Swift和Django Rest Framework将图像或文件上传到Django

最近几个月,我一直在开发开源Swift应用程序。 我需要使用rest框架将图像以及发布数据上传到Django。 虽然,有一些使用AF网络的Objective-C解决方案,但是我找不到一个很好的Swift解决方案。

使用Alamofire和Django rest框架非常简单。 我将解释以下步骤。

出于解释目的。 我将创建一个Django Model和序列化器类。

餐厅模型
REST API的餐厅序列化器

我们将在urls.py中添加rest api端点,并在views.py中添加逻辑。 在您应用的urls.py中添加以下内容。

url(r’^ api / v1 / list / new / $’,views.RestaurantList.as_view())

我们都站在Django一方。 现在,是时候编写一些快速代码了。 首先,创建一个Podfile并添加pod’Alamofire’,’〜> 4.3.0’。

安装Pod之后,让我们创建一个多部分表单上传请求。 我不会编写用于从照片库中选择图像的其他代码。 您可以参考主存储库。

为此,您应该将Alamofire的上载api与多种格式的数据一起使用,因为我们要上载图像以及发布数据参数。 Django rest框架将负责其余的工作!

始终在其他参数之前为图像/文件添加multipartFormData

如有任何疑问,请随时在评论部分提问!

对于本博客,我假设:Swift 3.0,Xcode 8,Python 3.5,Django 1.10,Django Rest framework 4.0和Alamofire 4.0版本