【发布时间】: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