Tag: django rest framework

使用Django rest框架开发iOS客户端应用

在过去的几年中,我一直在使用Parse作为我的应用程序的后端。 但是,这并没有给我真正的自下而上的感觉。 两年前,我开始使用Django(高级Python Web框架),但由于它的难度和完整性(学习基础知识的机会较少),我经常对此失去兴趣。 但是,在尝试了其他流行的后端语言(例如PHP和NodeJS)之后,我决定坚持使用Django一段时间。 Django的主要功能是其管理界面,该界面可帮助开发人员尽快编写应用程序! 一年多来,我用它来制作几个个人项目站点,包括我的投资组合。 由于我在应用开发方面(iOS和android)的丰富背景,我想通过使用Django后端开发客户端应用来挑战自己。 因此,我在今年初启动了一个小项目来学习。 在本文中,我将解释如何设置Django rest框架并为iOS客户端应用提供rest api端点。 Django Restframework是现代的Web Api套件,支持Python(2.7〜3.5)和Django(1.7〜1.9)。 对于searchrestaurant应用,我的目标是最初提供以下端点。 为此,我使用了Google Maps Geocoding来获取搜索地点的纬度和经度,并使用Foursquare API来获取相应地点的餐厅(比萨饼,咖啡等)。 使用Django restframework创建REST API的第一步是声明模型的序列化器类。 序列化器和反序列化器的目的是以json的形式获取检索/发送数据。 我在应用目录搜索下的文件serializers.py中创建了RestaurantSerializer。 下一步使用此序列化程序并在api端点被命中时提供json数据。 所有api端点均由views.py中的RestaurantList类使用urls.py中的url(r’^ api / v1 / $’,views.RestaurantList.as_view())处理 首先,解析get请求以获取诸如location和rtype(餐厅类型)之类的参数,然后查询现有数据库。 如果不存在数据,则同时使用Google API和Foursquare API生成一组新的查询。 Foursquare返回的数据将保存在数据库中,并使用serializers类返回到api端点。 提供的代码段如下。 典型的请求和响应对象如下所示。 要求: https://searchrestaurant.pythonanywhere.com/api/v1/?format=json&location=oslo&rtype=pizza 回应: 请注意,我们得到JSON Array作为响应。 如果找不到数据,我们将收到以下JSON对象的响应 {“错误”:“未找到”,“状态”:“ 404”}

处理来自IOS设备的请求时发生exception

我正尝试在iOS设备上播放video。 当我试图玩我得到以下错误: [27/Apr/2015 06:59:30] "GET /media/2015/04/VID_20150327_112644.mp4 HTTP/1.1" 200 18 Exception happened during processing of request from ('192.168.1.230', 51412) Traceback (most recent call last): File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread self.finish_request(request, client_address) File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request self.RequestHandlerClass(request, client_address, self) File "/home/likewise-open/ZEALOUSYS/manesh/virtualenv/tracks/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 129, in __init__ super(WSGIRequestHandler, self).__init__(*args, **kwargs) File "/usr/lib/python2.7/SocketServer.py", line 651, in __init__ […]

使用Django Rest Framework和IOS应用程序时使用哪种身份validation?

我有一个iOS应用程序,它使用由Django REST框架支持的API来存储,更新,从数据库中获取数据。 我需要提供以下两个function,它们将用户数据存储在服务器上: 用电子邮件login 用Facebooklogin 似乎有两种不同的身份validation系统可以使用: Django用户authentication系统 Django Rest框架authentication 我应该如何处理我的API?