Python Django REST招摇不显示POST方法
我对Django REST招摇过市有意见。我已经为使用DRF的用户创建了一个简单的视图集(只是为了显示我的问题),其中AppUser是我的自定义用户模型,它没有在我的文档中显示POST方法,但我可以使用Postman调用它并创建一个新的资源 我正在使用:Python Django REST招摇不显示POST方法,python,django,django-rest-framework,django-swagger,Python,Django,Django Rest Framework,Django Swagger,我对Django REST招摇过市有意见。我已经为使用DRF的用户创建了一个简单的视图集(只是为了显示我的问题),其中AppUser是我的自定义用户模型,它没有在我的文档中显示POST方法,但我可以使用Postman调用它并创建一个新的资源 我正在使用: Django 2.1 Django rest swagger 2.2.0 Djangorestframework 3.9.1 这是我的密码: 视图.py class UserViewSet(viewsets.ModelViewSet):
- Django 2.1
- Django rest swagger 2.2.0
- Djangorestframework 3.9.1
class UserViewSet(viewsets.ModelViewSet):
queryset = AppUser.objects.all()
serializer_class = UserSerializer
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = AppUser
fields = '__all__'
from django.conf.urls import url, include
from rest_framework.routers import SimpleRouter
from rest_framework_swagger.views import get_swagger_view
import app.views as app
# creating router
router = SimpleRouter()
router.register(r'users', app.UserViewSet)
schema_view = get_swagger_view(title='My app API')
# register urls
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^docs', schema_view)
]
序列化程序.py
class UserViewSet(viewsets.ModelViewSet):
queryset = AppUser.objects.all()
serializer_class = UserSerializer
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = AppUser
fields = '__all__'
from django.conf.urls import url, include
from rest_framework.routers import SimpleRouter
from rest_framework_swagger.views import get_swagger_view
import app.views as app
# creating router
router = SimpleRouter()
router.register(r'users', app.UserViewSet)
schema_view = get_swagger_view(title='My app API')
# register urls
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^docs', schema_view)
]
url.py
class UserViewSet(viewsets.ModelViewSet):
queryset = AppUser.objects.all()
serializer_class = UserSerializer
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = AppUser
fields = '__all__'
from django.conf.urls import url, include
from rest_framework.routers import SimpleRouter
from rest_framework_swagger.views import get_swagger_view
import app.views as app
# creating router
router = SimpleRouter()
router.register(r'users', app.UserViewSet)
schema_view = get_swagger_view(title='My app API')
# register urls
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^docs', schema_view)
]
在这里,您可以看到我的应用程序文档的外观:
我想得到这样的东西:
我已经尝试过多个关于创建Swagger文档的教程,我也在用户模型上尝试过,但我仍然只收到get请求。我做错了什么
谢谢你的帮助。我已经弄明白了。我没有正确登录,因此没有根据settings.py中DRF的DEFAULT_PERMISSION_CLASSES设置中列出的权限对我进行身份验证
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES':
('rest_framework.permissions.IsAuthenticatedOrReadOnly',),
}
HTTP方法POST、PUT、PATCH等都是使用has_permission()对照其中定义的权限列表进行检查的
登录后,它运行良好
编辑:登录的问题是,Django rest swagger 2.2.0不能正确使用JWT身份验证,所以我降级到2.1.2