【问题标题】:django user management adding user with ajaxdjango用户管理使用ajax添加用户
【发布时间】:2017-09-15 04:06:33
【问题描述】:

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

在 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 应用程序进行了比较,两者都发布了相同的表单数据,但是当我检查数据库时,没有从我的个人应用程序创建新用户.. 我发错了吗?

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

【问题讨论】:

  • 如果您能提供有关 UserForm 的更多信息,那么我将能够为您提供进一步的帮助。请分享导入/其他详细信息。
  • 代码从一个文件跳转到另一个文件,由于我离线工作,我无法复制和粘贴所有内容。我正在研究 Mayan EDMS:mayan-edms.com,这有一个 user_management 应用程序。我没有按照 Midhun Mohan 显示的链接的原因是因为我是 python 和 django 的新手,而且不同表之间似乎存在某种关系而不仅仅是一个简单的用户表,所以我认为简单地使用会更容易现有 API 可用。
  • 这是真正的代码吗?在文档中看不到任何将用户作为参数的 SingleObjectCreateView。

标签: ajax django cross-domain


【解决方案1】:

查看此链接:- CreateView with AJAX Mixin

我想,这应该可以解决你的问题 :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-12
    • 2011-07-10
    • 2021-03-07
    • 1970-01-01
    • 2016-05-21
    • 2016-07-05
    • 1970-01-01
    • 2013-10-09
    相关资源
    最近更新 更多