草庐IT

framework-part

全部标签

python - 如何使用 Django REST Framework 返回生成的文件下载?

我需要将生成的文件下载作为DjangoRESTFramework响应返回。我尝试了以下方法:defretrieve(self,request,*args,**kwargs):template=webodt.ODFTemplate('test.odt')queryset=Pupils.objects.get(id=kwargs['pk'])serializer=StudentSerializer(queryset)context=dict(serializer.data)document=template.render(Context(context))doc=converter().c

python - Django REST Framework,pre_save() 和 serializer.is_valid(),它们是如何工作的?

我需要将用户附加到请求,这似乎是一件很常见的事情,但事实证明这几乎是不可能的。DjangoRESTFramework的文档建议使用序列化程序类的pre_save方法,我这样做了,但是在调用serializer.is_valid()时它不会被调用,这使得它有点毫无值(value),因为没有用户序列化程序验证失败的字段。我看过一些建议,但它们看起来像是疯狂的hack和/或不起作用。另外,我觉得这是一项太常见的任务,不需要我看到人们建议的所有东西。我不能是唯一需要将用户附加到在REST请求中创建的对象的人。 最佳答案 假设您正在使用此处描

python - Django Rest Framework 自定义身份验证

Djangorestframework:CustomAuthentication我想在我的Django应用程序中使用自定义身份验证,但找不到如何应用它。文档中给出的示例对我来说很清楚,但他们没有提到在哪里创建这个新类以及如何使用它。 最佳答案 如何在DRF中实现自定义身份验证方案?要实现自定义身份验证方案,我们需要继承DRF的BaseAuthentication类并覆盖.authenticate(self,request)方法。如果身份验证成功,该方法应返回(user,auth)的二元组,否则返回None。在某些情况下,我们可能会从

python - Ipython 笔记本 : Elegant way of turning off part of cells?

在我的ipythonnotebook中,有部分单元格作为初步检查。现在我想关闭它,因为在运行它之后我知道数据集的状态,但我也想保留它,这样使用这个笔记本的其他人就可以拥有这个功能。我该怎么做?有没有做的例子?我可以注释掉这些单元格,但是在on和off之间切换会非常费力。对其他人来说可能不太方便。我可以把它抽象成一个函数,但是它本身有一些方法,所以代码会很复杂,而且可能难以阅读? 最佳答案 使用Jupyter笔记本,您可以单击一个单元格,按esc,然后按r。这会将其转换为“原始”单元格。可以做类似的事情来将它转换回来,esc+y。无需

python - Django rest framework Router - 如何添加自定义 URL 和 View 功能

我正在使用DjangoRestFramework的默认路由器并尝试自定义我的链接。如何设置如下所示:/myModels/dosomething(并将其列在APIRootView中)/myModels/addModel?name=abc&address=xyzViews.pyclassMyModelViewSet(viewsets.ModelViewSet):queryset=MyModel.objects.all()serializer_class=MyModelSerializerurls.pyrouter=routers.DefaultRouter(trailing_slash=T

python - 如何使用 Django-Rest-Framework 序列化用户组

我正在尝试使用DjangoREST框架获取用户组,但我得到的只是名为“groups”的空字段。这是我的UserSerializer:classUserSerializer(serializers.ModelSerializer):classMeta:model=Userfields=('url','username','email','is_staff','groups')关于如何获取用户组数据的任何想法?提前致谢 最佳答案 您必须指定它是嵌套关系:classGroupSerializer(serializers.ModelSeri

python - django-rest-framework 如何使模型序列化程序字段成为必需的

我有一个正在逐步填写的模型,这意味着我正在制作一个表单向导。因为此模型中的大多数字段都是必需的,但有null=True,blank=True以避免在提交部分数据时引发notnull错误。我正在使用Angular.js和django-rest-framework,我需要告诉api应该需要x和y字段,如果它们为空,它需要返回验证错误。 最佳答案 根据文档的最佳选择here是在Meta类中使用extra_kwargs,例如您有存储电话号码的UserProfile模型,并且是必需的classUserProfileSerializer(ser

Python/Django Rest Framework 奇怪的错误仅在使用调试器时发生

这个问题在仔细研究之后已经被我自己解决了。请阅读下面我的回答。我收到“fields选项必须是列表或元组。得到str。”在运行我的Django应用程序时。用调试器运行完全相同的代码,如果我在错误行中有一个断点,那么它不会失败,应该是一个元组的似乎是一个元组。问题似乎出在DRFModelSerializer中的以下代码中:def__init__(self,*args,**kwargs):#Don'tpassthe'fields'arguptothesuperclassfields=kwargs.pop('fields',None)#Instantiatethesuperclassnorma

python - Robot Framework 测试脚本因 SSLError 而失败

我已经编写了.tsv格式的RobotFramework测试脚本来测试网络服务/API。一切正常,直到今天(可能是因为RobotFramework的新更新)我开始收到以下错误:SSLError:("badhandshake:SysCallError(-1,'UnexpectedEOF')",)此错误在测试脚本中不断弹出以下代码:${headers}=CreateDictionaryContent-Typeapplication/jsonAcceptapplication/jsonRequestsKeywords.GetRequesthttpbin${url}headers=${heade

python - 将用户特定字段添加到 Django REST Framework 序列化程序

我想向序列化程序添加一个字段,其中包含特定于发出当前请求的用户的信息(我不想为此创建单独的端点)。这是我的做法:View集:classArticleViewSet(viewsets.ModelViewSet):queryset=Article.objects.all()serializer_class=ArticleSerializerfilter_class=ArticleFilterSetdefprefetch_likes(self,ids):self.current_user_likes=dict([(like.article_id,like.pk)forlikeinLike.o