我想使用 django rest 框架创建一个登录 api(或者使用现有的,如果它已经预先捆绑)。但是,我完全不知所措。每当我向 django rest 框架“登录”url 发送 post 请求时,它只会发回可浏览的 api 模板页面......
我的配置
urls.py
url(r'^api/v1/', include('rest_framework.urls', namespace='rest_framework'))
settings.py
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
)
}
我想要什么
请求:
POST /api/v1/login username='name' pass='pass'
回复:
200 OK "{username: 'name', 'userId': '54321'}" set-cookie: sessionid="blahblah"
最佳答案
看看 django-rest-framework-jwt 的 api View .它是一种用于创建身份验证 token 而不是 cookie session 的实现,但您的实现将是相似的。见 views.py和 serializers.py .您可能可以使用未更改的 serializers.py
,只需调整您的 View 以返回正确的参数并可能设置 session cookie(如果已经在身份验证中执行,则不记得了)。
关于python - 如何使用 Django Rest Framework 创建登录 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21317899/