2017-09-15 22 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

回答