嘿,我的django应用程序中有一个用户注册表,它在用户尝试注册时收集其他数据,如地址,城市,国家,电话号码等.
此数据通过post_save信号保存在Account模型类中.用户创建过程如下所示:
# Function to Create user Account/Profile
def create_user_account(sender, instance, created, **kwargs):
    if created:
      models.Account.objects.create(user=instance)
# Create User / User Registration
def UserRegistration(request):
    if request.method == 'POST':
        username = request.POST['fn'].capitalize() + ' ' + request.POST['ln'].capitalize()
        # CREATE USER
        newuser = User.objects.create_user(username=username, email=request.POST['email'], password=request.POST['pw'])
        newuser.first_name = request.POST['fn'].capitalize()
        newuser.last_name = request.POST['ln'].capitalize()
        newuser.save()
    return HttpResponse(username)
#Post Save handler to create user Account/Profile
post_save.connect(create_user_account, sender=User)
这里UserRegistration函数在用户发布表单时调用,在此函数下我可以获取POST数据,我想要的是将该数据传递给create_user_account方法,以便填充Account模型中的字段.
现在我确实看到在数据库中创建了帐户对象,但除用户字段之外的所有字段都是空的.显然,因为POST变量没有传递给create_user_account方法.
为什么这个装饰器的参数不起作用?
def decAny( f0 ):
    def wrapper( s0 ):
        return "<%s> %s </%s>" % ( any, f0(), any )
    return wrapper
@decAny( 'xxx' )
def test2():
    return 'test1XML'
print( test2() )
总是给我一个错误,说"str不可调用"它试图在wrapper()中执行返回字符串而不是处理它并返回结果字符串