python获得用户表单输入_如何从表单中获取用户名?

我今天遇到了一个特殊的情况。以前我在我的视图.py在def register_page(request):

if request.method == 'POST':

form = RegistrationForm(request.POST)

if form.is_valid():

user = User.objects.create_user(

username=form.cleaned_data['username'],

password=form.cleaned_data['password2'],

email=form.cleaned_data['email']

)

return HttpResponseRedirect('/register/success/')

else:

form = RegistrationForm()

variables = RequestContext(request, {'form':form})

return render_to_response('registration/register.html', variables)

这是相当直接的检索用户名,电子邮件和密码,以创建一个新的用户后,她已注册。但现在我已经将其重构为使用哈希代码作为用户名,并单独利用电子邮件进行注册和登录。在

缩短的登记表如下所示:

^{pr2}$

新表单不再有用户名了,因为它是经过计算的,不再由用户输入。但是如何从视图中检索用户名呢?新代码不是我写的,我是从博客上得到的。也许关键在元类中?从文档中我无法完全理解他试图用这个元类实现什么。。。在

非常感谢

编辑:

好吧,我想我现在明白了子类的工作原理了。我试图将User类分为以下子类:class cb_user_model_backend(ModelBackend):

def create_user(self, email=None, password=None):

"""

Creates and saves a User with the given email and password only.

"""

now = timezone.now()

username = md5(email).digest().encode('base64')[:-1]

email = UserManager.normalize_email(email)

user = self.model(username=username, email=email,

is_staff=False, is_active=True, is_superuser=False,

last_login=now, date_joined=now)

user.set_password(password)

user.save(using=self._db)

return user

我现在面临的问题是两个错误,self自我模型,应该位于基本用户类上。从这里怎么去?在

编辑2:

PyCharm抱怨两个人seld.型号不退出当前cb_user_model_后端。在

请注意,视图已重构为采用两个参数:user = User.objects.create_user(

password=form.cleaned_data['password2'],

email=form.cleaned_data['email']

)

运行它时,堆栈跟踪是:Exception Type: TypeError

Exception Value:

create_user() takes at least 2 arguments (3 given)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值