草庐IT

4Framework

全部标签

python - 我收到错误 : rest_framework. request.WrappedAttributeError: 'CSRFCheck' object has no attribute 'process_request'

网址.pyfromdjango.conf.urlsimporturlfromdjango.contribimportadminfromdjango.confimportsettingsfromdjango.conf.urls.staticimportstaticfrom.viewsimporthomefromposts.viewsimportPostListViewurlpatterns=[url(r'^admin/',admin.site.urls),url(r'^$',PostListView.as_view(),name='home'),url(r'^post/',include

python - CSRF 豁免失败 - APIView csrf django rest framework

我有以下代码:问题是当我尝试访问用户登录/时出现错误:“CSRF失败:CSRFcookie未设置。”我能做什么?我正在使用djangorest框架。urls.py:url(r'^user-login/$',csrf_exempt(LoginView.as_view()),name='user-login'),views.py:classLoginView(APIView):"""Listallsnippets,orcreateanewsnippet."""defget(self,request,format=None):startups=Startup.objects.all()ser

python - 如何将 Django Rest Framework 可浏览 API 接口(interface)限制为管理员用户

我正在为移动应用程序开发DjangoRestFramework后端。API是私有(private)的,只会在内部使用。可浏览的API可以方便地帮助开发人员处理项目,但我想阻止任何未设置为项目管理员的人使用可浏览的界面。我意识到可浏览的管理员不会授予用户本来不会拥有的任何权限,但它确实有一些安全灰色区域(例如,对于具有外键关系的模型,HTML选择器字段会填充所有除非您特别指示它不要这样做,否则数据库中可能存在相关对象。因为这个应用程序处理敏感的用户数据,我宁愿向公众公开尽可能小的表面积,以减少我自己潜在错误疏忽的风险。有没有什么方法可以为非管理员用户禁用可浏览的API,而不是为所有人禁用

python - 在 Django Rest Framework 中验证 query_params

我只想在给定query_params时返回model_info,否则它应该给出一些错误消息。我尝试了下面的代码,但是当名称未在查询参数中传递时,它给我keyerror。fromrest_framework.validatorsimportValidationErrorclassModelSerializer(serializers.ModelSerializer):classMeta:model=ModelNamefields=('name','abbreviation')defvalidate_name(self,value):ifvalue:returnvalueelse:rais

python - 将 StreamingHttpResponse 与 Django Rest Framework CSV 一起使用

我有一个标准的DRF网络应用程序,可以为其中一条路线输出CSV数据。呈现整个CSV表示需要一段时间才能完成。数据集非常大,所以我想要一个流式HTTP响应,这样客户端就不会超时。但是使用https://github.com/mjumbewu/django-rest-framework-csv/blob/2ff49cff4b81827f3f450fd7d56827c9671c5140/rest_framework_csv/renderers.py#L197中提供的示例并没有完全做到这一点。数据仍然是一个很大的有效载荷,而不是被分block,客户端最终在接收到字节之前等待响应。结构类似如下:

python - Django Rest Framework 分页计数极慢

我在DjangoRest框架中打开了分页,它看起来非常慢。Count看起来像是罪魁祸首,由于表中有数百万行,每次返回都需要数百毫秒。我正在使用postgresql作为数据库。有没有办法不计算行数并仍然使用分页?如果我手动过滤查询集,则在启用此功能之前性能很好。 最佳答案 问题是,用于计数的查询与用于获取数据的查询可能很复杂。这样比较浪费。PageNumberPagination在内部使用Django自己的Paginator。为了使计数查询更简单,请重写DRF使用的分页器类:fromdjango.core.paginatorimpor

python - 具有多个模型的django rest framework嵌套字段

这是django和djangorest框架。我有2个模型:用户和电话。The1stproblem:Iwanttobeabletoupdateuserdata(email)alongsidephonedata(phonenumbers)in1singleapiupdateresponse.Phonenumbercanbe0ormany.Well,likepartial=Trueactually.Ifauserjustwanttoupdatephonenumbers,don'tupdateemailandviceversa.附加信息:注册时,电话不包括在内。只是基本的用户信息(姓氏、名字、

python - 将 APITestCase 与 django-rest-framework 一起使用

我遵循了这段代码:fromdjango.core.urlresolversimportreversefromrest_frameworkimportstatusfromrest_framework.testimportAPITestCaseclassAccountTests(APITestCase):deftest_create_account(self):"""Ensurewecancreateanewaccountobject."""url=reverse('account-list')data={'name':'DabApps'}response=self.client.post

python - 请求方法值错误的 Django Rest Framework : `get_serializer_class` called several times,

使用ModelViewSet,在访问可浏览API时,get_serializer_class为单个请求多次调用是否正常?self.method.request的值在每次调用之间发生变化?我创建了asmalltestprojecttoshowthebehaviour.在project/example/views.py有一个带有自定义get_serializer_class的ThingViewSet,它打印当前的请求方法。如果您启动服务器并导航到http://127.0.0.1:8000/things/1/,输出将类似于:./manage.pyrunserverPerformingsyst

python - 无法修改 django rest framework base.html 文件

我正在使用djangorest框架,如这里所述:djangorestframeworkdoc我在我的模板目录中添加了/rest_framework/api.html。现在的结构是:||\|apps|\|settings.py\templates\rest_framework\api.htmlapi.html:{%extends"rest_framework/base.html"%}{%blockfooter%}Hello!{%endblock%}设置.py:...TEMPLATE_LOADERS=(('django.template.loaders.cached.Loader',('d