python - 如何使用 Django Rest Framework 创建登录 API?

标签 python django rest django-rest-framework

我想使用 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.pyserializers.py .您可能可以使用未更改的 serializers.py,只需调整您的 View 以返回正确的参数并可能设置 session cookie(如果已经在身份验证中执行,则不记得了)。

关于python - 如何使用 Django Rest Framework 创建登录 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21317899/

相关文章:

python - 将列表序列化为 JSON

ruby-on-rails - RESTful 测验表示

python - 如何通过 Keycloak API 获取客户 secret ?

django - 使成功消息在 django 表单提交几秒钟后消失并显示空表单

python - 如何使用数据框列中的唯一值创建列表列表?

python - 在 Django rest 框架中处理请求 header 以获取 header 中传递的 key ?

java - 如何使用 Jersey 作为 Rest 客户端连接 Ambari 进行授权

java - 如何修复 : My Web App forces all users to "interact" with the same list,,而不是为每个用户提供自己的列表

python - pygame - 敌人在与地面碰撞时飞出屏幕?

python - 无法解析 "SyntaxError: invalid syntax"