草庐IT

REST-ful

全部标签

python - Django Rest Framework 上传文件到方法

所以我一直在尝试将文件上传到使用DRF的方法,但到目前为止没有成功。我能够使用(FormParser,MultiPartParser,)上传到ModelViewSet没有任何问题,但我真的需要在这样的地方使用它http://localhost:8000/api/v1/women/{pk}/upload_avatar/我想先通过id过滤女人并上传到她的头像(这是多媒体模型的外键).我尝试使用嵌套资源库,但没有成功。到目前为止,我的模型View集中有:classWomenNativePassportViewSet(viewsets.ModelViewSet):queryset=Women.

python - 具有多个查找参数的 django-rest-framework HyperlinkedIdentityField

我的urlpatterns中有以下URL:url(r'^user/(?P[0-9]+)/device/(?P[0-9a-fA-F\-]+)$',views.UserDeviceDetailView.as_view(),name='user-device-detail'),注意它有两个字段:user_pk和uid。URL类似于:https://example.com/user/410/device/c7bda191-f485-4531-a2a7-37e18c2a252c。在该模型的详细View中,我试图填充一个url字段,该字段将包含返回模型的链接。在序列化器中,我有:url=seria

python - 在 Django REST Framework 中覆盖 serializer.data

我一直在尝试更改DjangoRESTFramework管理面板的表单字段的值,但由于某种原因,更改从未发生。我有下面的序列化程序classSomeView(ModelViewSet):queryset=MyModel.objects.all()serializer_class=MyModelSerializer#IWanttooverridethisandchangethePOSTdatadefperform_create(self,serializer):user=self.request.user.id#thiswasaformfieldwhereImanuallyenteredt

python - 在 Django Rest Framework 中为每个 View 定义分页 page_size

自版本3.3以来,不再可能在View上定义page_size,因为它已移至分页器类。relateddeprecations我们的API为不同的View定义了不同的page_sizes,添加新的分页器子类只是为了覆盖page_size属性让人感觉模棱两可。我无法在View定义中实例化分页器类并使用实例化的__init__方法here.我可以覆盖它并使它成为一个方法,该方法返回一个使用正确参数实例化的实例,但由于它的名称不是get_pagination_class,这可能不是一个好主意。我的问题是,使用适当的page_size属性集动态创建分页器类的最简洁方法是什么?我看过this问题,我

python - Django REST Framework 中除 AUTH_USER_MODEL 之外的用户模型

我有架构问题。我正在使用Django(带有管理面板)和DRF(使用JWT进行无状态身份验证的api)。Django具有由模型表示的管理员用户,该模型或多或少与默认的Django用户模型相同。管理员只能使用DjangoAdmin,不能使用DRFapi。DRF的API用户只能通过DRF使用api,不能与DjangoAdmin或DjangoSession等交互。我知道最好的方法是使用多模型继承,比如:classUser(DjangoUserModel):passclassAdmin(User):passclassAPI(User):passAUTH_USER_MODEL="User"但问题是

python - Django-REST 序列化程序 : Queryset does not filter PrimaryKeyRelatedField results

所以我有一个看起来像这样的序列化器classBuildingsSerializer(serializers.ModelSerializer):masterlisting_set=serializers.PrimaryKeyRelatedField(many=True,queryset=Masterlistings.objects.all())效果很好serializer=BuildingsSerializer(Buildings.objects.get(pk=1))serializer.data产生OrderedDict([("masterlistings_set",["0a06e3d

python - django rest 框架的多个 lookup_fields

我有多个API,它们在历史上使用id作为查找字段:/api/organization/10我有一个使用这些API的前端。我正在构建一个新界面,出于某些原因,我想使用slug而不是id:/api/organization/my-orgaAPI是使用DjangoRestFramework构建的。除了查找字段的变化,api行为应该保持不变。有没有一种解决方案可以让我的API同时使用slug和pk?这两条路径应该给他们相同的结果:/api/organization/10/api/organization/my-orga这是我的API定义:#urls.pyrouter=DefaultRouter

python - Api key 和 Django Rest Framework 授权 token

我已经在使用内置的Djangorestauthtoken,我计划发布另一个api,外部集成将调用该api以调用我的Django应用程序中的某些操作。问题是我想为此外部api调用生成另一个token,该token必须与身份验证系统分开(例如MandrillAPIkey或Github个人访问token)。从Djangorestframeworkauthtoken模型生成apikey是一个好的解决方案吗?外部APItoken:绝不能过期(它可能在session身份验证系统中过期)可以链接到用户但不是必需的(如果链接到帐户)可以撤销和重新激活您有发布apikey的经验吗?是否有DjangoRe

python - 在 Flask 中保护 REST API

我正在开发的应用程序使用了大量的ajax调用。不幸的是,我在研究如何限制对api的访问时遇到了障碍。例如:我有一个对http://site/api/tasks/bob进行ajax调用的表我需要确保只有登录的鲍勃才能读取该表(否则知道模式的人可能会要求查看bob的只需在浏览器中输入url即可完成任务)。在不同的页面上,同一个表需要能够调用http://site/api/tasks/all并显示所有用户的任务(只有管理员才能执行此操作)感谢您抽出宝贵时间阅读本文并回答。 最佳答案 千英尺View是您需要通过以下方式对用户进行身份验证:A

python - 为什么这个 django-rest-swagger API 文档不能正常显示/工作?

我已经构建了一个DjangoAPI,当通过POST给定一个电子邮件地址时,它会用一个bool值来响应,该值指示是否天气该电子邮件地址已经存在于我的数据库中:classisEmailTaken(views.APIView):permission_classes=[permissions.AllowAny,]defpost(self,request,*args,**kwargs):try:email=request.DATA['email']exceptKeyError:returnHttpResponse('Anemailwasnotgivenwiththisrequest.',stat