예제 #1
0
def add_user(username, password, email, sex):
    same_name_user = User.objects.filter(name=username)
    if same_name_user:
        message = '用户名已存在'
        return None
    same_email_user = User.objects.filter(email=email)
    if same_email_user:
        message = '该邮箱已经被注册了!'
        return None

    new_user = User()
    new_user.name = username
    new_user.password = hash_code(password)
    new_user.email = email
    new_user.sex = sex
    new_user.has_confirmed = True  #直接跳过邮件确认
    new_user.save()

    new_userprofile = UserProfile()
    new_userprofile.user = new_user
    new_userprofile.save()
    new_userprofile.follow_list.add(new_userprofile)
    new_userprofile.save()

    return
예제 #2
0
    def test_can_create_user(self):
        userCount = User.objects.all().count()

        # create user
        anotherUser = User()
        anotherUser.name = "new user"
        anotherUser.username = "******"
        anotherUser.password = "******"
        anotherUser.save()  # save user
        newCount = User.objects.all().count()

        self.assertEquals(userCount + 1, newCount)
예제 #3
0
def Userv(request):
    '''
    用户数据相关
    :param request:
    :return:
    '''
    context = {
        'from': {
            'name': None,
            'sex': None,
            'email': None,
            'c_time': None,
        }
    }
    user = User.objects.all()
    if not request.session.get('is_login', None):
        return redirect('/login/')
    context['user'] = user

    # 添加数据
    if request.POST:
        context['from']['name'] = request.POST['name']
        context['from']['sex'] = request.POST['sex']
        context['from']['email'] = request.POST['email']
        data = User()
        data.name = request.POST['name']
        if request.POST['sex'] == '男':
            data.sex = 'male'
        else:
            data.sex = 'female'
        data.email = request.POST['email']
        data.c_time = time.ctime
        data.has_confirmed = 1
        data.password = 123456
        data.save()
        # print("已保存", time.ctime, context['from'])
    # 删除数据
    if request.GET and request.GET['pid'] == 'delete':
        name = request.GET['name']
        # User.objects.filter(name=name).delete()
        print("删除成功", name)
    # 修改数据
    if request.GET and request.GET['pid'] == 'set':
        name = request.GET['name']
        pid = request.GET['pid']
        # User.objects.filter(name=name).delete()
        print("修改数据", name, pid)
    return render(request, 'data/User.html', context=context)
예제 #4
0
def register(request):
    if request.session.get('is_login', None):
        return redirect('/index/')

    if request.method == 'POST':
        register_form = forms.RegisterForm(request.POST)
        message = '请检查填写内容!'
        if register_form.is_valid():
            username = register_form.cleaned_data.get('username')
            password1 = register_form.cleaned_data.get('password1')
            password2 = register_form.cleaned_data.get('password2')
            email = register_form.cleaned_data.get('email')
            sex = register_form.cleaned_data.get('sex')

            if password1 != password2:
                message = '两次输入密码不同!'
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = User.objects.filter(name=username)
                print(same_name_user)
                if same_name_user:
                    message = "用户已经存在"
                    return render(request, 'login/register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:
                    message = '该邮箱已经被注册!'
                    return render(request, 'login/register.html', locals())

                new_user = User()
                new_user.name = username
                new_user.password = hash_code(password1)
                # new_user.password = password1
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = make_confirm_string(new_user)
                send_email(email, code)

                return redirect('/login/')
        else:
            return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
예제 #5
0
def register(request):
    if request.session.get('is_login', None):
        # 登录状态不允许注册。你可以修改这条原则!
        return redirect("/")
    if request.method == "POST":
        register_form = RegisterForm(request.POST)
        message = "请检查填写的内容!"
        if register_form.is_valid():  # 获取数据
            username = register_form.cleaned_data['username']
            password1 = register_form.cleaned_data['password1']
            password2 = register_form.cleaned_data['password2']
            email = register_form.cleaned_data['email']
            sex = register_form.cleaned_data['sex']
            if password1 != password2:  # 判断两次密码是否相同
                message = "两次输入的密码不同!"
                return render(request, 'register.html', locals())
            else:
                password = make_password(password1, None, 'pbkdf2_sha1')
                same_name_user = User.objects.filter(name=username)
                if same_name_user:  # 用户名唯一
                    message = '用户已经存在,请重新选择用户名!'
                    return render(request, 'register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:  # 邮箱地址唯一
                    message = '该邮箱地址已被注册,请使用别的邮箱!'
                    return render(request, 'register.html', locals())

                # 当一切都OK的情况下,创建新用户

                new_user = User()
                new_user.name = username
                new_user.password = password
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = make_confirm_string(new_user)
                send_email(email, code)
                message = '请前往注册邮箱,进行邮件确认!'
                return render(request, 'confirm.html',
                              locals())  # 跳转到等待邮件确认页面。

    register_form = RegisterForm()
    return render(request, 'register.html', locals())
예제 #6
0
def register(request):
    if request.session.get('is_login', None):
        # 登录状态不允许注册。你可以修改这条原则!
        return redirect(reverse('user:index'))
    if request.method == "POST":
        register_form = RegisterForm(request.POST)
        message = "请检查填写的内容!"
        if register_form.is_valid():  # 获取数据
            username = register_form.cleaned_data['username']
            password1 = register_form.cleaned_data['password1']
            password2 = register_form.cleaned_data['password2']
            email = register_form.cleaned_data['email']
            sex = register_form.cleaned_data['sex']
            if password1 != password2:  # 判断两次密码是否相同
                message = "两次输入的密码不同!"
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = User.objects.filter(name=username)
                if same_name_user:  # 用户名唯一
                    message = '用户已经存在,请重新选择用户名!'
                    return render(request, 'login/register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:  # 邮箱地址唯一
                    message = '该邮箱地址已被注册,请使用别的邮箱!'
                    return render(request, 'login/register.html', locals())

                # 当一切都OK的情况下,创建新用户

                new_user = User()
                new_user.name = username
                new_user.password = hash_code(password1)
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = fonfirm_email_code(new_user)
                send_email(email, code)
                message = '请到你的邮箱中确认注册信息'
                return render(request, 'login/confirm.html', locals())

    register_form = RegisterForm()
    return render(request, 'login/register.html', locals())
예제 #7
0
파일: views.py 프로젝트: JohnnyDark/mysite
def register(request):
    if request.session.get('is_login', None):
        return redirect(reverse('login:index'))

    if request.method == 'POST':
        register_form = forms.RegisterForm(request.POST)
        message = '请检查填写的内容'
        if register_form.is_valid():
            username = register_form.cleaned_data.get('username')
            password1 = register_form.cleaned_data.get('password1')
            password2 = register_form.cleaned_data.get('password2')
            email = register_form.cleaned_data.get('email')
            sex = register_form.cleaned_data.get('sex')

            if password1 != password2:
                message = '两次密码不一致'
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = User.objects.filter(name=username)
                if same_name_user:
                    message = '用户名已存在'
                    return render(request, 'login/register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:
                    message = '该邮箱已经注册'
                    return render(request, 'login/register.html', locals())
                new_user = User()
                new_user.name = username
                new_user.password = hash_code(password1)
                new_user.email = email
                new_user.sex = sex
                new_user.save()
                # return redirect('/login/')
                code = make_confirm_string(new_user)
                send_email(email, code)
                message = '请前往邮箱确认'
                return render(request, 'login/confirm.html', locals())
        else:
            return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
예제 #8
0
파일: views.py 프로젝트: LeechenLove/mysite
def register(request):
    if request.session.get('is_login', None):
        return redirect('/index/')
    if request.method == 'POST':
        register_form = RegisterForm(request.POST)
        message = '请检查填写的内容'
        if register_form.is_valid():  #获取数据
            username = register_form.cleaned_data['username']
            password1 = register_form.cleaned_data['password1']
            password2 = register_form.cleaned_data['password2']
            email = register_form.cleaned_data['email']
            sex = register_form.cleaned_data['sex']
            if password1 != password2:  #判断两次密码是否相同
                message = "两次输入的密码不同"
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = User.objects.filter(name=username)
                if same_name_user:  #用户名唯一
                    message = '用户名已经存在,请重新选择用户名!'
                    return render(request, 'login/register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:  #邮箱唯一
                    message = '该邮箱地址已被注册,请使用别的邮箱!'
                    return render(request, 'login/register.html', locals())

                # 当一切都正常的情况下,创建新用户

                new_user = User()
                new_user.name = username
                new_user.password = hash_code(password1)
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = make_confirm_string(new_user)
                send_email(email, code)

                return redirect('/login/')
    register_form = RegisterForm()
    return render(request, 'login/register.html', locals())