如何在Django中使用带有JsonResponse的AJAX创建新用户?

任务很简单,一个人可以输入姓名,电子邮件和密码按“提交”,并在表单下方显示他的帐户信息,而不需要刷新页面。
我不知道我哪里出错了,即使我在检查管理员时设法转到ajax成功function我发现没有创建新用户。
无论如何,提前谢谢。 此外,也许有人可以提供一些与ajax相关的教程或关于djangorestframework的一些信息。

models.py

class User(models.Model): name = models.CharField(max_length=255) email = models.EmailField() password = models.CharField(max_length=255) 

urls.py

 from django.conf.urls import url, include from ajaxtest import views urlpatterns = [ url(r'$', views.home, name='home'), url(r'user/create/$', views.userCreate, name='create'), ] 

views.py

 def home(request): users = User.objects.all() return render(request, 'ajaxtest/index.html', {'users': users}) def userCreate(request): if request.method == 'POST': name = request.POST.get('ajaxName', '') email = request.POST.get('ajaxEmail', '') password = request.POST.get('ajaxPassword', '') User.objects.create( name = name, email = email, password = password, ) response_data = {} return JsonResponse(response_data) 

的index.html

 {% extends 'ajaxtest/base.html' %} {% load staticfiles %} {% block content %} 

Form

{% csrf_token %}

    {% for user in users %}
  1. {{user.name}} - {{user.email}} - {{user.password}}
  2. {% endfor %}

  $(document).on('submit', '#user_form', function(event) { event.preventDefault(); $.ajaxSettings.traditional = true; $.ajax({ type: 'POST', url: '{% url "create" %}', dataType: 'json' data: { ajaxName: $('#inputName').val(), ajaxEmail: $('#inputEmail').val(), ajaxPassword: $('#inputPassword').val(), csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val() }, success: function(response) { alert($('#inputName').val() +" Account Created!"); } }); }) 

 {% endblock content %} 

在主页面中将“$”更改为“^ $”。 在ajax调用中,在dataType:’json’之后添加逗号。 这对我有用。 如果这对您有用,请告诉我。 确保在主url文件中包含您的ajaxtesturl。

 urlpatterns = [ url(r'^', include('ajaxtest.urls')), ]