我正在尝试使用我的Django REST API实现注册。 我知道如何登录或获取令牌,以便可以做到
curl -X POST -d "username=user2&password=qwer" http://localhost:8000/signin > index.html
curl -X POST -d "username=user2&password=qwer" http://localhost:8000/api-token-auth/
但我现在需要的是注册一个新用户。我这样试过:
curl --cookie cookie.txt http://localhost:8000/signup/ -H "Content-Type: application/json" -H "X-CSRFToken: TP5mW4dxjpVO6UOk3nG6Ugk8jqv2u8E2" -X POST -d '{"username":"user4","email":"ggg@gmail.com","password":"qwer"}' >index.html
但除了我的index.html文件中有一个注册页面之外没有任何反应。没有在数据库中创建新用户。
这是我的注册表单的HTML模板。它完美地运作。
我应该将哪些请求传递到我的网站才能注册新用户?
{% extends 'base.html' %}
{% block title %}Sign up · Parsifal{% endblock %}
{% block javascript %}
<script>
$(function () {
$('#id_username').focus();
});
</script>
{% endblock %}
{% block content %}
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Sign up for Parsifal</h3>
</div>
<div class="panel-body">
<form action="/signup/" method="post">
{% csrf_token %}
<div class="panel-group{% if form.username.errors %} has-error{% endif %}">
<label class="control-label" for="{{ form.username.id_for_label }}">{{ form.username.label }}</label>
<input type="text" class="form-control" value="{{ form.username.value|default_if_none:'' }}" id="{{ form.username.id_for_label }}" name="{{ form.username.html_name }}" maxlength="{{ form.username.field.max_length }}">
<span class="help-block">(Usernames may contain <strong>alphanumeric</strong>, <strong>_</strong> and <strong>.</strong> characters)</span>
{% for error in form.username.errors %}
<span class="help-block">{{ error }}</span>
{% endfor %}
</div>
<div class="panel-group{% if form.email.errors %} has-error{% endif %}">
<label class="control-label" for="{{ form.email.id_for_label }}">{{ form.email.label }}</label>
<input type="email" class="form-control" value="{{ form.email.value|default_if_none:'' }}" id="{{ form.email.id_for_label }}" name="{{ form.email.html_name }}" maxlength="{{ form.email.field.max_length }}">
{% for error in form.email.errors %}
<span class="help-block">{{ error }}</span>
{% endfor %}
</div>
<div class="panel-group{% if form.password.errors %} has-error{% endif %}">
<label class="control-label" for="{{ form.password.id_for_label }}">{{ form.password.label }}</label>
<input type="password" class="form-control" value="{{ form.password.value|default_if_none:'' }}" id="{{ form.password.id_for_label }}" name="{{ form.password.html_name }}">
{% for error in form.password.errors %}
<span class="help-block">{{ error }}</span>
{% endfor %}
</div>
<div class="panel-group{% if form.confirm_password.errors %} has-error{% endif %}">
<label class="control-label" for="{{ form.confirm_password.id_for_label }}">{{ form.confirm_password.label }}</label>
<input type="password" class="form-control" value="{{ form.confirm_password.value|default_if_none:'' }}" id="{{ form.confirm_password.id_for_label }}" name="{{ form.confirm_password.html_name }}">
{% for error in form.confirm_password.errors %}
<span class="help-block">{{ error }}</span>
{% endfor %}
</div>
<button type="submit" class="btn btn-success">Create an account</button>
</form>
</div>
</div>
</div>
</div>
{% endblock content %}