相关疑难解决方法(0)

如何在不创建新对象的情况下更新User对象?

以下在shell中工作正常:

>>> from django.contrib.auth.models import User
>>> user=User.objects.get(pk=1)
>>> user.first_name = u'Some'
>>> user.last_name = u'Name'
>>> user.save()
>>> user.first_name
u'Some'
>>> user.last_name
u'Name'
Run Code Online (Sandbox Code Playgroud)

然后我尝试对表单做同样的事情:

# forms.py
class UserForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ['first_name', 'last_name']


# views.py
def edit_names(request, template_name="registration/edit_names.html"):
    if request.method == "POST":
        form = UserForm(data=request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.save()
            url = urlresolvers.reverse('my_account')
            return HttpResponseRedirect(url)
    else:
        form = UserForm(instance=request.user)
    page_title = _('Edit user names')
    return render_to_response(template_name, locals(),
        context_instance=RequestContext(request))

# edit_names.html
<form action="." method="post">{% csrf_token …
Run Code Online (Sandbox Code Playgroud)

django django-models django-forms

9
推荐指数
1
解决办法
2万
查看次数

django-registration和用户配置文件创建

在我的应用程序中我有AUTH_PROFILE_MODULE设置users.UserProfile.此UserProfile有一个函数create,当新用户注册时,应该调用该函数,然后创建UserProfile条目.

根据django-registration文档,所有需要做的是profile_callback在我的urls.py中设置条目.我看起来像这样:

url(r'^register/$', register, {'form_class': RecaptchaRegistrationForm,
'profile_callback': UserProfile.objects.create,
'backend': 'registration.backends.default.DefaultBackend',},
 name='registration_register')
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

异常值:register()得到一个意外的关键字参数'profile_callback'

那么我必须把它放在哪里才能使它工作?

django

7
推荐指数
1
解决办法
5259
查看次数

标签 统计

django ×2

django-forms ×1

django-models ×1