在试图构建Django API时,我总是会遇到错误。
我有一节课:
from uuid import UUID
from django.shortcuts import render
from django.http.response import JsonResponse
from django.http.request import HttpRequest
from rest_framework import viewsets, status
from rest_framework.parsers import JSONParser
from rest_framework.response
我正在尝试使用django-rest-framework-mongoengine来构建一个使用Django和mongodb的and服务。
当我包含一个列出我的Document类型的对象的url时,我有一个错误。
我的模型文件是
class Job(Document):
title = StringField(required=True)
state = StringField(required=True)
我的观点是
class JobViewSet(GenericAPIView):
queryset = Job.objects.all()
serializer
我想了解的是,在Django REST框架的上下文中,当ViewSet与路由器一起使用时,URL路由是如何被使用的。当我在api/v2/people/请求一个集合时,会返回一个404响应。我不清楚视图在浏览器中呈现并获得200状态代码作为响应的一部分还需要什么?
urls.py
from django.urls import path, include
from rest_framework import routers
from people import views
router = routers.SimpleRouter()
router.register(r'peopl
假设我遵循Django Rest框架的ViewSet:
from django.contrib.auth import get_user_model
from rest_framework.viewsets import ViewSet
from rest_framework.response import Response
class SubscriptionViewSet(ViewSet):
def list(self, request):
data = {'user_count': get_user_model().objects.count(
当我在django运行makemigrations时,我得到了错误:
TypeError:init()缺少一个必需的位置参数:'on_delete‘
这是我的密码:
from django.db import models
class List(models.Model):
name = models.CharField(max_length=50)
def __str__(self):
return "List:{}".format(self.name)
class Card(models.Model):
title = m
我正在学习Django REST框架(,我们仍然使用2.4版本)。例如,定义这样的类是正确的吗?
class UserView(generics.RetrieveUpdateDestroyAPIView,
generics.ListCreateAPIView,
viewsets.GenericViewSet):
# ... rest of class
换句话说,将*ViewSet和*APIView混合/类一起使用是正确的还是可能的,还是将它们作为两个完全独立的概念而不是组合?
我在Django中使用的是REST,我无法理解传统URL与实例化DefaultRouter()之间通过ViewSet注册URL的主要区别。
我有个模特:
class Article(models.Model):
title = models.CharField()
body = models.TextField()
author = models.ForeignKey()
像这样序列化模型:
from blog.models import Article
class ArticleSerializer(serializers.ModelSerializer):
在通过Django Rest Framework端点发布时,我总是将数据写入数据库。这一次,我希望处理接收到的数据,并将其发送到其他地方,而不写入DB。我从ModelViewSet切换到ViewSet,我可以发出GET请求OK,但是当我通过DRF发送时收到坏请求400。下面是一个有效的最低限度代码(删除了身份验证的需要等):
urls.py
from django.urls import path, include
from .views import ContactView
from rest_framework import routers
router = routers.Defaul
我正在尝试构建一个简单的REST API。我尝试添加一个视图集,不知何故,我得到一个错误,没有这样的属性。如果我删除视图集,只使用APIView运行,它会加载得很好。我被卡住了。可能的问题是什么?我该怎么做才能让它工作呢?
下面是rest_profiles.views.py文件:
from django.shortcuts import render
from rest_framework import viewsets
from rest_framework.views import APIView
from rest_framework.response import Response
f
我是一个初学者,学习django rest框架,我只是遇到了这个错误,我似乎找不到绕过它的方法。下面是permissions.py示例代码
from rest_framework import permissions
class UpdateOwnProfile(permissions, BaseException):
"""Allow user to edit their own profile"""
def has_object_permission(self, request, view, obj):
""&
views.py
from rest_framework import viewsets
from rest_framework.response import Response
from rest_framework import generics
from ticker.serializers import PriceSerializer
from ticker.models import Price
import datetime
from nexchange.settings import DEFAULT_HOUR_RANGE
class LastPricesViewSet(vie
假设我有一个简单的模型Account,如下所示: class Account(models.Model):
name = models.CharField(db_index=True) 和一个AccountSerializer,如下所示: class AccountSerializer(serializers.ModelSerializer):
name = CharField(source="account.name")
def _get_favorite_color(self, obj: Account):
我正在将Django Rest框架升级到当前版本。有了新的过滤器,我发现如果有几个外键字段,加载初始页面需要很长时间(下面我使用的示例是Ticket模型上的event is a FK )。也就是说,我使用filter_class并在元字段列表中传递FK:
# my viewset
class TicketViewSet(ModelViewSet):
queryset = Ticket.objects.all()
filter_class = api_filters.TicketFilterSet
#my filterset
class TicketFilterSet(Fil
我不太确定我是否理解了DRF中路由的工作原理。我浏览了文档,但仍然没有掌握其中的区别。 我有以下观点: from django.shortcuts import render
from django.shortcuts import get_object_or_404
from rest_framework.viewsets import ViewSet
from rest_framework.response import Response
from .models import Order
from .serializer import OrderSerializer
clas
在Django-REST框架中,在ViewSet中,我在几种方法上使用了使用@action装饰器的额外路由操作。我希望每个方法都有不同的文档字符串,但显然这是行不通的。有什么想法吗?
@action(methods=['GET', 'POST', 'DELETE'])
def followers(self, request, player):
if request.method == 'GET':
"""
Get the players who follow thi
我正在尝试用Django Rest框架做一个APIView。当我将视图与url关联时,我得到了这个错误: AssertionError: basename argument not specified, and could not automatically determine the name from the viewset, as it does not have a .queryset attribute. 下面是我的APIView: class ExampleView(APIView):
authentication_classes = (SessionAuthentica
我是Django和Rest框架的新手。我正在遵循有关序列化程序的文档,并尝试创建一个ListField (https://www.django-rest-framework.org/api-guide/fields/#listfield),当我这样做时,我得到了一个严重的循环导入错误 django.core.exceptions.ImproperlyConfigured: The included URLconf 'api.urls' does not appear to have any patterns in it. If you see valid patterns i
我正在尝试向我的Django REST应用程序添加用户注册功能。
这是我的序列化程序:
from django.contrib.auth.models import User
from rest_framework import serializers
class UserSerializer(serializers.HyperlinkedModelSerializer):
snippets = serializers.HyperlinkedRelatedField(many=True, view_name='snippet-detail', read_only=Tr
我试着从Django后端为我的前角构建一个过滤器,或者我如何使用restframework_filter构建过滤器请人们帮助,我在后端有这个
viewset.py
from snippets.models import Snippet
from .serializers import SnippetSerializer
from rest_framework import viewsets
from rest_framework.decorators import action
from rest_framework.response import Response
from rest_fra
我有一个Django rest框架API。 注册以下路由器并添加URL模式时,出现以下错误: ...
File "/home/yovel/PycharmProjects/scr/venv/lib/python3.8/site-packages/django/urls/conf.py", line 34, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in impo