django多种注册形式

时间:2016-03-01 20:25:17

标签: python django

我希望在我的项目中有3个应用程序: 家庭,用户,公司 Home是所有用户可以从一个页面到另一个页面的主要应用程序,现在我在这个家庭应用程序上有按钮登录和注册。 现在它是这样的:

主页/ forms.py

    class LoginForm(forms.Form):
        username = forms.CharField(
            widget=forms.TextInput(
                attrs={
                    'class': 'form-control'
                }))
        password = forms.CharField(
            widget=forms.PasswordInput(
                attrs={
                    'class': 'form-control'
                }))

        def clean_username(self):
            username = self.cleaned_data['username']
            try:
                user = User.objects.get(username=username)
                return username
            except ObjectDoesNotExist:
                raise forms.ValidationError("Incorrect login")

        def clean_password(self):
            if self.cleaned_data['username']:
                username = self.cleaned_data['username']
                password = self.cleaned_data['password']
                user = User.objects.get(username=username)
                if user.check_password(password):
                    return password
                raise forms.ValidationError("Incorrect password")
            raise forms.ValidationError("Incorrect login")

class RegisterUserForm(forms.Form):
    username = forms.CharField(
        widget=forms.TextInput(
                attrs={
                    'class': 'form-control'
                }))
    email = forms.EmailField(
        widget=forms.TextInput(
                attrs={
                    'class': 'form-control'
                }))
    password1 = forms.CharField(
        widget=forms.PasswordInput(attrs={
                    'class': 'form-control'
                }))
    password2 = forms.CharField(widget=forms.PasswordInput(attrs={
                    'class': 'form-control'
                }))

class RegisterCompanyForm(forms.Form):
    username = forms.CharField(
        widget=forms.TextInput(
                attrs={
                    'class': 'form-control'
                }))

    password1 = forms.CharField(
        widget=forms.PasswordInput(attrs={
                    'class': 'form-control'
                }))
    password2 = forms.CharField(widget=forms.PasswordInput(attrs={
                    'class': 'form-control'
                }))
    nip = forms.CharField(
        widget= forms.TextInput(attrs={
            'class': 'form-control'
        }))

在视图中,我有register_user_page和register_company_page以及他们自己的模板和表单。 我现在如何注册这两类用户?在表格中处理它是否正确? 此外,如果用户将登录,他需要重定向到应用程序用户,公司重定向到公司应用程序。

0 个答案:

没有答案