草庐IT

REST-ful

全部标签

python - 为 Web 应用程序使用的 Python REST API 选择适当的身份验证类

我想使用DjangoREST框架构建一个RESTAPI。最初它的客户端将是一个网络应用程序,但可以想象future的客户端可能包括移动应用程序。不幸的是,我找到了documentation中列出的身份验证类列表。有点困惑。看起来TokenAuthentication可以满足我的需求。我宁愿避免OAuth的认知开销,除非有令人信服的安全理由。我想在这个非常早的阶段就做出正确的决定。任何人都可以提供任何建议吗?编辑:虽然希望不相关,但我想我会提到我将使用Neo4j作为应用程序的后端,而不是传统的SQL数据库。 最佳答案 DjangoRE

python - 从 Django Rest Framework 响应中删除空字段

我使用django-rest-framework开发了一个API。我正在使用ModelSerializer返回模型的数据。模型.pyclassMetaTags(models.Model):title=models.CharField(_('Title'),max_length=255,blank=True,null=True)name=models.CharField(_('Name'),max_length=255,blank=True,null=True)序列化器.pyclassMetaTagsSerializer(serializers.ModelSerializer):clas

python - Django Rest Framework - APIView 分页

我有一个非常简单的APIView,但我不知道如何在这里设置分页。在这种情况下,我选择一个具有给定pk的Event,然后我获得分配给此Event的所有NewsItems。pagination_class=LimitOffsetPagination当我在ListCreateAPIView开头定义查询集时工作正常,例如。queryset=Event.objects.all()但不使用自定义get:classEventNewsItems(APIView):pagination_class=LimitOffsetPaginationdefget(self,request,pk,format=No

python - Django REST 框架中的外键值

模型.py:classStation(models.Model):station=models.CharField()classFlat(models.Model):station=models.ForeignKey(Station,related_name="metro")#anotherfields然后在serializers.py中:classStationSerializer(serializers.ModelSerializer):station=serializers.RelatedField(read_only=True)classMeta:model=Stationcl

python - Django Rest 框架 : empty request. 数据

我有以下用于DRFView的代码:fromrest_frameworkimportviewsetsclassMyViewSet(viewsets.ViewSet):defupdate(self,request,pk=None):printpkprintrequest.data我按以下方式通过python-requests调用URL:importrequestspayload={"foo":"bar"}headers={'Content-type':'application/json'}r=requests.put("https://.../myPk",data=payload,head

python - Django REST Framework 嵌套资源 key "id"无法访问

所以我有以下结构:ClientFile属于所有者(类名=联系人)。我正在尝试使用API创建一个Clientfile。该请求包含以下数据:{name:"Hello!"owner:{id:1,first_name:"Charlie",last_name:"Watson"}}我根据我的结构创建了序列化程序。希望此API调用将创建一个名为“Hello!”的客户端文件。联系人ID1作为所有者:classContactSerializer(serializers.ModelSerializer):classMeta:model=Contactfields=('id','first_name','l

python - 如何在 REST 框架中获取 OR 权限而不是 AND

当RESTframework检查权限时,权限类似乎是ANDed。也就是说,每个权限类都需要返回True才能授予权限。这使得诸如“如果你是super用户,你可以访问任何东西,但如果你是普通用户,你需要明确的权限”之类的东西有点难以实现,你不能只返回False,它会使整个堆栈失败。有没有办法可能短路权限?类似于“如果授予此权限,停止检查?”或其他处理此类案件的方法? 最佳答案 现在DRF允许使用按位运算符组合权限:&-and-和|-或者-。Fromthedocs:Providedtheyinheritfromrest_framework

python - Django Rest-Framework 嵌套序列化器顺序

有没有办法对嵌套序列化器_set进行排序,例如按pk或time-stamp排序。所以基本上按照order_by('-timestamp')或order_by('-pk').Json数据{"pk":151,"album_name":"Name","song_set":[{pk:3,timestamp:'5seconds'},{pk:2,timestamp:'10seconds'},{pk:1,timestamp:'15seconds'}]}型号classAlbum(models.Model):album_name=models.CharField(max_length=100,blank

python - 在 View 集中创建的 Django-rest-framework 权限

我正在尝试创建一个RESTAPI,但在用户注册时卡住了:基本上我需要在注册前获得访问token。这是View:classUserViewSet(viewsets.ModelViewSet):"""APIendpointthatallowsuserstobeviewedoredited."""queryset=User.objects.all()serializer_class=UserSerializerdefmetadata(self,request):"""Don'tincludetheviewdescriptioninOPTIONSresponses."""data=super(

python - Django-Rest-Framework 关系和超链接 API 问题

我正在试用django-rest-framework。一切都很顺利,直到我进入教程的关系和超链接API部分。在稍微弄乱它之后我现在得到的错误是:ImproperlyConfiguredat/api/users/"^\.(?P[a-z0-9]+)\.(?P[a-z0-9]+)$"isnotavalidregularexpression:redefinitionofgroupnameu'format'asgroup2;wasgroup1我尝试对此进行一些研究,但似乎找不到任何东西,而且我越弄越乱这是我的代码:模块.pyclassHome(models.Model):user=models.