如何使用djoser向curl注册新用户?

时间:2019-09-07 20:49:00

标签: django django-rest-framework djoser

我是djoser的新手,在学习教程时,我尝试使用以下命令注册新用户:

curl -X POST http://127.0.0.1:8000/api/users/ --data 'username=example%26password=mysecret'

(我在URL中使用%26是因为&出现错误。)

但是不幸的是,我得到的输出是:

{"username":["This field is required."],"password":["This field is required."]}

代替:

{"email":"","username":"example","id":1}

我的 urls.py 文件

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path(r'^api/', include('djoser.urls'))
]

我的 settings.py 文件

REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework_simplejwt.authentication.JWTAuthentication',
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.TokenAuthentication',
        'rest_framework.authentication.BasicAuthentication',
    ],
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly',

    ]
}

我将其执行为:

在一个终端中,我正在运行sqlite服务器,在另一个终端中,我运行上述命令。

我怀疑这是否是正确的方法。

1 个答案:

答案 0 :(得分:0)

卷曲应该是

curl -X POST 'http://127.0.0.1:8000/api/users/?username=example&password=mysecret'