2017-09-15 24 views
0

在django库中,有一个用户管理,它允许用户添加到数据库。我有一个允许创建用户的网页,但是我想要做的是能够通过将用户名密码等通过ajax发布到django,从另一个域远程创建用户。django用户管理添加用户与ajax

在urls.py

url(r'^user/add/$', UserCreateView.as_view(), name='user_add'), 

views.py:

class UserCreateView(SingleObjectCreateView): 
    user = UserForm 
    view_permission = permission_user_create 

    def form_valid(self, form): 
     user = form.save(commit=False) 
     user.set_unusable_password() 
     user.save() 
     messages.success(self.request, _('User "$s" created successfully.') % user) 
     return HttpResponseRedirect(
      reverse('user_management:user_set_password', args=(user.pk,)) 
     ) 

我从另一个域ajax开机自检:

$.ajax({ 
    type: "POST", 
    url: "https://mydjangourl/accounts/user/add/", 
    data: { 
    username: "testusername", 
    first_name: "firstname", 
    last_name: "lastname", 
    is_active: "on", 
    submit: "" 
    } 
}); 

当我创建了一个用户从我的Django应用程序,我比较了发布的表单数据和我的个人JavaScript应用程序,都发布了相同的表单数据,但是当我检查d时atabase没有新的用户正在创建我的个人应用程序..我发布错误吗?

注意:csrftoken认证已被禁用,因为它不是必需的。我们正在离线环境中运行。

+0

如果你能提供有关的更多信息** **用户窗体然后我就能够帮助你进一步。请分享进口/其他细节。 –

+0

您是否检查过此代码:https://stackoverflow.com/questions/35377334/how-do-i-create-a-new-user-using-ajax-with-jsonresponse-in-django –

+0

代码从一个文件跳转到另一个,因为我正在离线工作,我无法复制和粘贴所有内容。我正在研究Mayan EDMS:https://www.mayan-edms.com,它有一个user_management应用程序。我之所以没有遵循Midhun Mohan所显示的原因,是因为我是python和django的新手,似乎在不同的表之间存在某种关系,而不仅仅是一个简单的用户表,所以我认为简单地使用它会更容易现有的API可用。 – Cherple

回答