小编wtr*_*ton的帖子

创建用户时Django表单未保存密码

我已经为我的django应用制作了一个自定义表单,允许用户注册自己的网站。

这是我的Django应用程序的表单:

class TeacherRegistrationForm(UserCreationForm):
    email = forms.EmailField(required = True)
    school = forms.CharField(required = True)
    subject = forms.CharField(required = True)
    head_of_subject = forms.BooleanField(required = False)
    identification_code = forms.CharField(required = True)

    def __init__(self, *args, **kwargs):
        super(TeacherRegistrationForm, self).__init__(*args, **kwargs)
        self.fields['username'].help_text = ''
        self.fields['password2'].help_text = ''


    class Meta:
        model = User

        fields = (
            'username',
            'first_name',
            'last_name',
            'email',
            'school',
            'identification_code',
            'subject',
            'head_of_subject',
            'password1',
            'password2'            
        )

    def save(self, request):
        form = TeacherRegistrationForm(request.POST)
        user = User.objects.create(first_name=self.cleaned_data['first_name'],
                            last_name=self.cleaned_data['last_name'],
                            email=self.cleaned_data['email'],
                            username=self.cleaned_data['username'],
                            password=self.cleaned_data['password1']
                            )

        teacher_profile = TeacherProfile.objects.create(user=user,
                                                        school=self.cleaned_data['school'],
                                                        subject=self.cleaned_data['subject'], …
Run Code Online (Sandbox Code Playgroud)

python django django-forms

5
推荐指数
1
解决办法
969
查看次数

Django在视图中形成自定义错误消息

这是我的看法:

if request.method == 'POST':
        form = TeacherRegister(request.POST)
        #Gets school object from email domain.
        email = form['email'].value().split('@')[1]
        try:
            school = School.objects.get(email_domain = email)
        except ObjectDoesNotExist:
            #add custom error message here

        if form.is_valid():
            user, Teacher = form.save()
            Teacher.school = school
            Teacher.save()
            user.groups.add(Group.objects.get(name='Teacher'))
            #user.is_active to stop users logging in without confirming their emails

            user.is_active = False
            user.save()
            #Sends confirmation link.
            send_confirmation_email(request, user)

            args = {'email': user.email,
                    'link': user.Teacher.school.email_website}

            return render(request, 'email/token_sent.html', args)

        else:
            args = {'form': form,}
            return render(request, 'users/teachers.html', args)
Run Code Online (Sandbox Code Playgroud)

这些行是我正在尝试使用的: …

django validation django-forms

3
推荐指数
1
解决办法
2127
查看次数

检查用户是否属于多对多关系 django

我有一个 Set 模型:

class Set(models.Model):
    name = CharField(max_length = 25)
    teacher = ForeignKey(get_user_model(), null = False, on_delete = models.CASCADE)
    students = ManyToManyField(get_user_model(), related_name= 'set_students')
Run Code Online (Sandbox Code Playgroud)

如您所见,最后一个字段是 ManyToMany 字段。我需要一个查询集来获取用户所属的所有集合。

我该怎么做?

django manytomanyfield

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