【发布时间】:2020-07-23 14:34:31
【问题描述】:
我正在使用 Django Rest Framework 来创建 API。在这个项目中,我想在 URL 中捕获参数。例如我想捕获用户的用户名和密码,我的想法是这样的:
http://localhost:8000/accounts/login/?unsername=username&password=password
但我不能,我使用路由器和 django-filter,但我无法获取参数 url。我的项目文件在那里:
view.py:
class AccountsData(viewsets.ModelViewSet):
queryset = models.UserData.objects.all()
serializer_class = serializers.AccountsDataSerializer
permission_classes = (IsAuthenticated,)
filter_backends = (filters.DjangoFilterBackend,)
filterset_fields = ['username', 'password']
lookup_url_kwarg = 'username'
@action(methods=['get'], detail=True, url_name='login', url_path='login')
def login(self, request, pk=None):
return Response({"Login successfully"}, 200)
urls.py:
from api import views
router = routers.SimpleRouter()
router.register(r'accounts', views.AccountsData)
【问题讨论】: