草庐IT

REST-ful

全部标签

python - Django Rest Framework JWT 单元测试

我正在使用DRF和JWT包进行身份验证。现在,我正在尝试编写一个使用JWTtoken对自身进行身份验证的单元测试。无论我如何尝试,我都无法让测试API客户端通过JWT对自身进行身份验证。如果我对API客户端(在我的例子中是Postman)执行相同的操作,一切正常。这是测试用例:fromdjango.urlsimportreversefromrest_framework.testimportAPITestCasefromrest_framework_jwt.settingsimportapi_settingsfrombackend.factoriesimportmember_factor

python - 如何将我的 Rest Api 服务器与我的 Web 套接字服务器通信

我的问题已部分解决,但不是我认为的最佳方式。我有一个RESTAPI服务器,它有一个只执行批处理的方法POST。该方法立即返回200(没有任何正文),批处理过程继续在服务器中执行其任务。这个批处理有一个日志文件,我通常通过tail-fmylogfile.log在网上看到它。我现在想要的是使用websocket服务器将tail进程的输出发送到网页。websocket服务器的代码如下所示:importosimportasyncioimportwebsocketsimportsubprocessfromfrontserv.start_serverimportWEBSOCKET_INTERCHA

python - 如何在 django rest 框架中反转 ViewSet 自定义操作的 URL

我已经为ViewSet定义了自定义操作fromrest_frameworkimportviewsetsclassUserViewSet(viewsets.ModelViewSet):@action(methods=['get'],detail=False,permission_classes=[permissions.AllowAny])defgender(self,request):....并且viewset以常规方式注册到urlfromdjango.conf.urlsimporturl,includefromrest_frameworkimportroutersfromapiimp

python - 如何使 rest_framework 序列化程序不允许多余的字段?

我注意到Serializer在拒绝带有未知字段的输入时并不是很严格:In[1]:fromrest_frameworkimportserializersIn[2]:classTestSerializer(serializers.Serializer):...:foo=serializers.CharField()...:In[3]:s=TestSerializer(data=dict(foo='foo',bar='bar'))In[4]:s.is_valid()Out[4]:True有没有办法配置Serializer在这种情况下返回关于bar意外的验证错误?

python - Django REST 框架 - 多个查找字段?

我有一个或多或少看起来像这样的模型:classStarship(models.Model):id=models.UUIDField(default=uuid4,editable=False,primary_key=True)name=models.CharField(max_length=128)hull_no=models.CharField(max_length=12,unique=True)我有一个不起眼的StarshipDetailSerialiser和StarshipListSerialiser(我想最终显示不同的字段,但现在它们是相同的),它们都是serializers.M

python - Django REST Framework 中的 self.get_serializer 方法来自哪里?

在DRFsourcecode,有一个get_serializer方法。它不是从对象继承的,也不是CreateModelMixin类中的方法。这个方法从何而来?serializer=self.get_serializer(data=request.data)这是上下文的较大代码块。from__future__importunicode_literalsfromrest_frameworkimportstatusfromrest_framework.responseimportResponsefromrest_framework.settingsimportapi_settingsclas

python - Django.rest_framework : How to serialize one to many to many?

我在使用Django进行序列化时遇到了一些麻烦。我有三个模型,比方说学校、房间和书table(例如虚拟名称)。每个学校有多个Room,每个Room有多个Desk。类及其关系如下所示:classSchool(models.Model):name=models.CharField()classRoom(models.Model):name=models.CharField()school_id=models.ForeignKey(School)classDesk(models.Model):row=models.IntegerField()col=models.IntegerField()

python - 在 Django Rest Framework 中返回图片 url

我正在使用DjangoRestFramework并具有以下模型:classPicture(models.Model):some_field=models.ForeignKey(some_model)image=models.ImageField()我想编写一个返回图像url的GET端点。这是我到目前为止所做的defget(self,request,aid):'''GetImage'''try:picture=Picture.objects.filter(some_field=aid)exceptPicture.DoesNotExist:raiseHttp404serialiser=Pi

python - django rest 框架 - 使用 detail_route 和 detail_list

在我的代码中,我有一个用户View集。我想要的是只允许读取操作(/users/42和/users/),ReadOnlyModelViewSet做得很好。此外,我想要一个/users/registerURL,我可以POST到该URL以注册新用户。classUserViewSet(viewsets.ReadOnlyModelViewSet):queryset=User.objects.all()serializer_class=UserSerializer@list_route(methods=['post'])defregister(request):serializer=UserSer

python - 如何在django rest框架中上传多个文件

在djangorest框架中,我可以使用danialfarid/ng-file-upload上传单个文件views.py:classPhotoViewSet(viewsets.ModelViewSet):serializer_class=PhotoSerializerparser_classes=(MultiPartParser,FormParser,)queryset=Photo.objects.all()defperform_create(self,serializer):serializer.save(blogs=Blogs.objects.latest('created_at'