Sample usage

我们提供了一个独立的测试应用程序,供您轻松启动,查看所有设置如何在基本设置下运行. 在将djoser集成到您的后端应用程序之前,这可能会很有用.

在这个非常简短的教程中,我们将模拟最简单的流程:注册用户,登录和注销. 我们还将在每个后续步骤中检查资源访问情况. 我们走吧!

克隆存储库并将djoser安装到您的virtualenv中:

$ git clone git@github.com:sunscrapers/djoser.git
$ cd djoser
$ pip install -e .

转到testproject目录,迁移数据库并启动开发服务器:

$ cd testproject
$ ./manage.py migrate
$ ./manage.py runserver 8088

注册新用户:

$ curl -X POST http://127.0.0.1:8088/auth/users/ --data 'username=djoser&password=alpine12'
{"email": "", "username": "djoser", "id":1}

到现在为止还挺好. 我们刚刚使用REST API创建了一个新用户.

让我们访问用户的详细信息:

$ curl -LX GET http://127.0.0.1:8088/auth/users/me/
{"detail": "Authentication credentials were not provided."}

如我们所见,如果不登录就无法访问用户配置文件.

让我们登录:

curl -X POST http://127.0.0.1:8088/auth/token/login/ --data 'username=djoser&password=alpine12'
{"auth_token": "b704c9fc3655635646356ac2950269f352ea1139"}

我们刚刚获得了一个授权令牌,以后可以使用它来检索特定资源.

让我们再次访问用户的详细信息:

$ curl -LX GET http://127.0.0.1:8088/auth/users/me/
{"detail": "Authentication credentials were not provided."}

仍然禁止访问,但让我们提供获得的令牌:

$ curl -LX GET http://127.0.0.1:8088/auth/users/me/ -H 'Authorization: Token b704c9fc3655635646356ac2950269f352ea1139'
{"email": "", "username": "djoser", "id": 1}

是的,它有效!

现在让我们注销:

curl -X POST http://127.0.0.1:8088/auth/token/logout/ -H 'Authorization: Token b704c9fc3655635646356ac2950269f352ea1139'

并再次尝试访问用户个人资料:

$ curl -LX GET http://127.0.0.1:8088/auth/users/me/ -H 'Authorization: Token b704c9fc3655635646356ac2950269f352ea1139'
{"detail": "Invalid token"}

如我们所见,用户已成功注销,并且正确的令牌已被删除.