コード例 #1
0
ファイル: views.py プロジェクト: Jay-gupta/Django_tutorial
def register(request):
    registered = False
    if request.method == 'POST':
        user_form = UserForm(data=request.POST)
        profile_form = UserProfileInfoForm(data=request.POST)
        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()
            profile = profile_form.save(commit=False)
            profile.user = user
            if 'profile_pic' in request.FILES:
                print('found it')
                profile.profile_pic = request.FILES['profile_pic']
            profile.save()
            registered = True
        else:
            print(user_form.errors,profile_form.errors)
    else:
        user_form = UserForm()
        profile_form = UserProfileInfoForm()
    return render(request,'home/registration.html',
                          {'user_form':user_form,
                           'profile_form':profile_form,
                           'registered':registered})
コード例 #2
0
ファイル: views.py プロジェクト: srivastava9/Codefundo-2019
def registered(request):
    registered = False
    if request.method == "POST":
        print(request.POST)
        print(request.FILES)
        user_form = UserForm(data=request.POST)
        profile_form = UserProfileForm(data=request.POST)
        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()
            profile = profile_form.save(commit=False)
            profile.user = user
            profile.save()
            registered = True
            login(request, user)
            return redirect("/home/user-demand")

        else:
            # user_errors = user_form.errors
            # profile_errors = profile_form.errors
            print(user_form.errors, profile_form.errors)
    else:
        user_form = UserForm()
        profile_form = UserProfileForm()

    return render(
        request,
        "registration/registration_form.html",
        {
            "user_form": user_form,
            "profile_form": profile_form,
            "registered": registered,
        },
    )
コード例 #3
0
def register(request):

    registered = False

    if request.method == 'POST':

        # Get info from "both" forms
        # It appears as one form to the user on the .html page
        user_form = UserForm(data=request.POST)
        profile_form = UserProfileInfoForm(data=request.POST)

        # Check to see both forms are valid
        if user_form.is_valid() and profile_form.is_valid():

            # Save User Form to Database
            user = user_form.save()

            # Hash the password
            user.set_password(user.password)

            # Update with Hashed password
            user.save()

            # Now we deal with the extra info!

            # Can't commit yet because we still need to manipulate
            profile = profile_form.save(commit=False)

            # Set One to One relationship between
            # UserForm and UserProfileInfoForm
            profile.user = user

            # Check if they provided a profile picture
            if 'profile_pic' in request.FILES:
                print('found it')
                # If yes, then grab it from the POST form reply
                profile.profile_pic = request.FILES['profile_pic']

            # Now save model
            profile.save()

            # Registration Successful!
            registered = True
        else:
            # One of the forms was invalid if this else gets called.
            print(user_form.errors, profile_form.errors)

    else:
        # Was not an HTTP post so we just render the forms as blank.
        user_form = UserForm()
        profile_form = UserProfileInfoForm()

    # This is the render and context dictionary to feed
    # back to the registration.html file page.
    return render(
        request, 'home/registration.html', {
            'user_form': user_form,
            'profile_form': profile_form,
            'registered': registered
        })
コード例 #4
0
def make_form(request):
    """
    Makes form for search input in navbar section.
    """
    from home.forms import UserForm
    form = None
    if request.method == 'GET':
        form = UserForm()
    elif request.method == 'POST':
        form = UserForm(request.POST)
    return form
コード例 #5
0
def profile(request):
    if request.method == "POST":
        userform = UserForm(request.POST, instance=request.user)
        user_profile = UserProfile.objects.get(user=request.user)
        userprofileform = UserProfileForm(request.POST, instance=user_profile)
        try:
            pilot = Pilot.objects.get(user=request.user)
            pilotform = PilotProfileForm(request.POST, instance=pilot)
            pilot_valid = pilotform.is_valid()
            if pilot_valid:
                pilotform.save()
        except ObjectDoesNotExist:
            pilotform = None
            pilot_valid = True
        user_valid = userform.is_valid()
        user_profile_valid = userprofileform.is_valid()
        if pilot_valid and user_valid and user_profile_valid:
            change = "Changes Submitted"
            print("PILOT SAVED!")
        else:
            print("PILOT INVALID")
        if user_valid:
            userform.save()
            print("User SAVED!")
        if user_profile_valid:
            userprofileform.save()
            user_profile = UserProfile.objects.get(user=request.user)
            request.session["django_timezone"] = user_profile.timezone
            print("User Profile Saved!")
        else:
            print("USER INVALID")

    else:
        try:
            pilot = Pilot.objects.get(user=request.user)
            pilotform = PilotProfileForm(instance=pilot)
        except ObjectDoesNotExist:
            pilotform = None
        userform = UserForm(instance=request.user)
        userprofile = UserProfile.objects.get(user=request.user)
        userprofileform = UserProfileForm(instance=userprofile)
        change = ""

    return render(
        request,
        "home/profile.html",
        {
            "userform": userform,
            "change": change,
            "pilotform": pilotform,
            "userprofileform": userprofileform,
        },
    )
コード例 #6
0
def add_user(request):
    if request.method == 'POST':
        form = UserForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            login(request, user)
            return HttpResponseRedirect('/school')
    else:
        form = UserForm()
    return render(request, 'home/signup.html', {'form': form})
コード例 #7
0
ファイル: views.py プロジェクト: Abhishek553/Agape-Web
def register(request):

    print(request.POST)
    if request.method == 'POST':
        form = UserForm(request.POST)
        print(form)
        if form.is_valid():
            form.save()

        return redirect('login')
    else:
        form = UserForm()

    return render(request, "register/register.html", {'form': form})
コード例 #8
0
ファイル: views.py プロジェクト: AD97/SSN-Code-Busters
def logout_user(request):
    logout(request)
    form = UserForm(request.POST or None)
    context = {
        'form': form
    }
    return redirect('/')
コード例 #9
0
def register(request):
    registered = True
    if request.method == "POST":

        userform = UserForm(data=request.POST)
        userInfo = UserProfileInfoForm(data=request.POST)
        if userform.is_valid() and userInfo.is_valid():

            user_data = userform.save(commit=False)
            user_data.set_password(user_data.password)

            userprofile = userInfo.save(commit=False)
            user_data.save()
            userprofile.user = user_data
            userprofile.save()
            registered = False
        else:
            return render(
                request, 'signin.html', {
                    'registered': registered,
                    'userform': userform,
                    'userinfoform': userInfo
                })

    userform = UserForm
    userinfoform = UserProfileInfoForm
    return render(
        request, 'signin.html', {
            'registered': registered,
            'userform': userform,
            'userinfoform': userinfoform
        })
コード例 #10
0
def register(request):
    error_msg = ""
    if request.method == "POST":
        userform = UserForm(request.POST)  # 将请求的数据加入表单进行校验
        if userform.is_valid():
            data = request.POST
            username = userform.cleaned_data.get("username")
            password = userform.cleaned_data.get("password")
            password_confirm = data.get("password_confirm")
            code = data.get("code")
            email = data.get("email")
            if password != password_confirm:
                error_msg = "两次密码不一致"
                return render(request, "common/register.html",
                              {"errors": error_msg})
                # 数据库保存用户注册信息
            code1 = request.session.get("code")
            email1 = request.session.get("email")
            print(code1, email1, code, email)
            if code != code1 or email != email1:
                error_msg = "验证码与邮箱不符"
                return render(request, "common/register.html",
                              {"errors": error_msg})
            try:
                user = User()
                user.username = username
                user.password = setPassword(setPassword(password))
                user.email = email
                user.save()
                return HttpResponseRedirect("/login/")
            except:
                error_msg = "邮箱或者用户名重复!"
        else:
            error_msg = userform.errors
    return render(request, "common/register.html", {"errors": error_msg})
コード例 #11
0
def register(request):
    registered = False
    if request.method == 'GET':
        # display registration form
        user_form = UserForm()
    elif request.method == 'POST':
        user_form = UserForm(data=request.POST)
        if user_form.is_valid():
            user = user_form.save()
            user.set_password(user_form.cleaned_data['password'])
            user.save()
            registered = True
            logger.info('User %s registered', user.username)
        else:
            logger.error(user_form.errors)
    return render(request, 'register.html', locals())
コード例 #12
0
ファイル: profileView.py プロジェクト: LetLive-Ent/LetLive
 def get(self, request, *args, **kwargs):
     """
     Called when HTTP GET method is used.
     Displays the edit user profile form.
     
     :param request: the django HttpRequest object
     :type request: django.http.request.HttpRequest
     """
     # get page context
     context = self.get_context_data()
     page = context['page']
     
     # set forms and user to display
     self.view_user = request.user        
     if page == 'user_profile_edit' or page == 'user_account_edit':
       self.set_profile_forms()
       self.user_form = UserForm(instance=self.view_user)
     
     # render template
     return render(request, self.template_name, {
         'view_user': self.view_user,
         'user_form': self.user_form,
         'admin_form': self.admin_form,
         'author_form': self.author_form,
         'subscriber_form': self.subscriber_form,
         'page': page,
     })
コード例 #13
0
def signup_page(request):
    registered = False
    if request.method == 'POST':
        user_form = UserForm(data=request.POST)

        if user_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()
            registered = True
        else:
            print(user_form.errors)
    else:
        user_form = UserForm()

    return render(request, 'home/signup.html', {'user_form': user_form, 'registered': registered})
コード例 #14
0
def signup(request):
    if request.method == 'POST':
        user_form = UserForm(request.POST)
        profile_form = ProfileForm(request.POST)
        print('40 = ', profile_form.errors.as_data())
        print('41 = ', user_form.errors.as_data())
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
            print('test')
            return render(request, 'home/home.html')
    else:
        user_form = UserForm()
        profile_form = ProfileForm
    context = {'user_form': user_form, 'profile_form': profile_form}
    template = 'home/signup.html'
    return render(request, template, context)
コード例 #15
0
 def test_invalid_form(self):
     w = User.objects.create(title='Login Form', body='')
     data = {
         'title': w.title,
         'body': w.body,
     }
     form = UserForm(data=data)
     self.assertFalse(form.is_valid())
コード例 #16
0
def update_profile(request):
    if request.method == "POST":
        user_form = UserForm(request.POST, instance=request.user)
        profile_form = ProfileForm(request.POST, instance=request.user.profile)
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
            return HttpResponseRedirect('/')
        else:
            messages.error(request, _('Please correct the error below.'))
    else:
        user_form = UserForm(instance=request.user)
        profile_form = ProfileForm(instance=request.user.profile)
    return render(request, 'home/profile.html', {
        'user_form': user_form,
        'profile_form': profile_form
    })
コード例 #17
0
 def test_valid_form(self):
     mp = User.objects.create(title='Login Form', body='Bar')
     data = {
         'title': mp.title,
         'body': mp.body,
     }
     form = UserForm(data=data)
     self.assertTrue(form.is_valid())
コード例 #18
0
def register(request):
    registered = False
    if request.method == 'POST':
        user_form = UserForm(data=request.POST)
        if user_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()

            return render(request, 'home/login.html', {'user_form': user_form})
        else:
            print(user_form.errors)
            return render(request, 'home/registration.html',
                          {'user_form': user_form})
    else:
        user_form = UserForm()
        return render(request, 'home/registration.html',
                      {'user_form': user_form})
コード例 #19
0
def index(request):
    user_form = UserForm()
    profile_form = UserProfileInfoForm()

    return render(request,
                  "home/index.html",
                  context={
                      'user_form': user_form,
                      'profile_form': profile_form
                  })
コード例 #20
0
 def test_blank_data(self):
     form = UserForm({})
     # form = UserForm({}, entry=self.entry)
     self.assertFalse(form.is_valid())
     self.assertEqual(
         form.errors, {
             'username': ['required'],
             'email': ['required'],
             'password': ['required'],
         })
コード例 #21
0
    def test_valid_data(self):
        form = UserForm({
            'username': "******",
            'email': "*****@*****.**",
            'password': "******",
        })

        self.assertTrue(form.is_valid())
        user = form.save()
        self.assertEqual(user.name, "Turanga Leela")
        self.assertEqual(user.email, "*****@*****.**")
        self.assertEqual(user.password, "Hi 2513698514258there")
コード例 #22
0
ファイル: views.py プロジェクト: Wannesvp/Sport-Club
def update_profile(request):
    if request.method == 'POST':
        user_form = UserForm(request.POST, instance=request.user)
        profile_form = ProfileForm(request.POST, instance=request.user.profile)
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
            messages.success(request, 'Your profile was succesfully updated!')
            return redirect('/profile/')
        else:
            messages.error(request, 'Please correct the error bellow')
    else:
        user_form = UserForm(instance=request.user)
        profile_form = ProfileForm(instance=request.user.profile)
    context = {
        'user_form': user_form,
        'profile_form': profile_form
    }
    return render(request, 'home/update_profile.html', context)

    
コード例 #23
0
def register(request):
    registered = False
    if request.method == "POST":
        user_form = UserForm(data=request.POST)
        profile_form = UserProfileInfoForm(data=request.POST)

        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()

            profile = profile_form.save(commit=False)
            profile.user = user

            if 'profile_pic' in request.FILES:
                profile.profile_pic = request.FILES['profile_pic']

            profile.save()

            registered = True

            return render(
                request, 'home/registration.html', {
                    'user_form': user_form,
                    'profile_form': profile_form,
                    'registered': registered
                })
        else:
            my_dict = {'register_alert': "User Already Registered"}
            return render(request, 'home/login.html', context=my_dict)
    else:
        user_form = UserForm()
        profile_form = UserProfileInfoForm()
        return render(
            request, 'home/registration.html', {
                'user_form': user_form,
                'profile_form': profile_form,
                'registered': registered
            })
コード例 #24
0
def register(request):
    # A boolean value for telling the template whether the registration was successful.
    # Set to False initially. Code changes value to True when registration succeeds.
    registered = False

    # If it's a HTTP POST, we're interested in processing form data.
    if request.method == 'POST':
        # Attempt to grab information from the raw form information.
        # Note that we make use of both UserForm and UserProfileForm.
        user_form = UserForm(data=request.POST)

        # If the forms are valid...
        if user_form.is_valid():
            # Save the user's form data to the database.
            user = user_form.save()

            # Now we hash the password with the set_password method.
            # Once hashed, we can update the user object.
            user.set_password(user.password)
            user.save()
            # Update our variable to tell the template registration was successful.
            registered = True

        # Invalid form or forms - mistakes or something else?
        # Print problems to the terminal.
        # They'll also be shown to the user.
        else:
            print user_form.errors

    # Not a HTTP POST, so we render our form using two ModelForm instances.
    # These forms will be blank, ready for user input.
    else:
        user_form = UserForm()

    # Render the template depending on the context.
    return render(request, 'auth/register.html', {
        'user_form': user_form,
        'registered': registered
    })
コード例 #25
0
def view_profile(request):
    user = request.user
    user_form = UserForm(instance=user)

    ProfileInlineFormset = inlineformset_factory(User, UserProfile, can_delete=False,
                                                 fields=('description', 'address', 'education', 'phone', 'image'))
    formset = ProfileInlineFormset(instance=user)

    if request.user.is_authenticated and request.user.id == user.id:
        if request.method == "POST":
            user_form = UserForm(request.POST, request.FILES, instance=user)
            formset = ProfileInlineFormset(request.POST, request.FILES, instance=user)

            if user_form.is_valid():
                created_user = user_form.save(commit=False)
                formset = ProfileInlineFormset(request.POST, request.FILES, instance=created_user)

                if formset.is_valid():
                    created_user.save()
                    formset.save()
                    return redirect('view_profile')

        try:
            progress = Progress.objects.get(user=request.user)
            achievements = json.loads(progress.all_quiz_records)
            achievements = achievements.get('all_records')
        except Progress.DoesNotExist:
            achievements = None

        return render(request, "home/profile.html", {
            'user': user,
            "noodle_form": user_form,
            "formset": formset,
            'achievements':achievements,
        })

    else:
        raise PermissionDenied
コード例 #26
0
def admin(request):
    registered = False
    admin_auth_key = "jrk898989#"
    error = False
    error_value = ""
    if request.method == 'POST':
        user_form = UserForm(data=request.POST)
        inp_admin_ac = request.POST.get('id_admin_auth')
        inp_confirm_pass = request.POST.get('id_password_confirm')
        if(inp_admin_ac == admin_auth_key):
                       

            if(inp_confirm_pass == request.POST.get('password')):

                if user_form.is_valid():
                    user = user_form.save()
                    user.set_password(user.password)
                    user.save()
                    registered = True
                else:
                    error=True
                    error_value = user_form.errors
                    print(error_value)
            else:
                error=True
                error_value = "Password are not matching"
                print(error_value)

        else:
            error=True
            error_value = "Invalid Auth Code"      
            print(error_value)
        return render(request,'home/admin.html',{'userform':user_form,'registered':registered,'error':error,'error_value':error_value})
    else:
        userform = UserForm()
        return render(request,'home/admin.html',{'userform':userform,'registered':registered,'error':error,'error_value':error_value})
コード例 #27
0
def home(request):
    """
        Returns a rendered home page.
        :param request:
        :return :
    """
    form = None
    try:
        if request.method == 'GET':
            form = UserForm()
        elif request.method == 'POST':
            form = request.form
        return render(request, 'home.html', context={'form': form})
    except Exception as e:
        return Http404(f'Error fetching home: {e}')
コード例 #28
0
def register(request):
    errors = ""
    if request.method == "POST":
        userform = UserForm(request.POST)  # 将请求的数据加入表单进行校验
        if userform.is_valid():
            username = userform.cleaned_data.get("username")  # 校验过的数据
            password = userform.cleaned_data.get("password")
            password_confirm = request.POST.get("password_confirm")
            if password == password_confirm:
                # 数据库保存用户注册信息
                user = User()
                user.username = username
                user.password = setPassword(setPassword(password))
                user.save()
            return HttpResponseRedirect("/login/")  # 如果注册成功,跳转到登陆
        else:
            errors = userform.errors
    return render(request, "common/register.html", {"errors": errors})
コード例 #29
0
ファイル: profileView.py プロジェクト: LetLive-Ent/LetLive
    def post(self, request, *args, **kwargs):
        """
        Called when HTTP POST method is used.
        Edits the user profile from the form data.
        
        :param request: the django HttpRequest object
        :type request: django.http.request.HttpRequest
        """
        # get page context
        context = self.get_context_data()
        page = context['page']
        
        # only allow for user_profile_edit url
        if(page != 'user_profile_edit'):
            raise PermissionDenied
        
        # form data    
        self.user_form = UserForm(request.POST, instance=request.user)
        self.set_profile_forms()
        
        # save form data
        saved = False
        try:
            self.save_profile_forms()
            saved = True
        except Exception as e:
            saved = False
            self.error_string = 'There was an error. Please try again.' 
            if settings.DEBUG:
                self.error_string = e

        # render template
        if saved:
            return HttpResponseRedirect(reverse('home:user_profile'))

        return render(request, self.template_name, {
            'user_form': self.user_form,
            'admin_form': self.admin_form,
            'author_form': self.author_form,
            'subscriber_form': self.subscriber_form,
            'error_string': self.error_string,
            'page': page,
        }, status=400)
コード例 #30
0
 def test_blank_data(self):
     form = UserForm({})
     # form = UserForm({}, entry=self.entry)
     self.assertFalse(form.is_valid())
     self.assertEqual(
         form.errors, {
             'FirstName': ['required'],
             'SecondNam': ['required'],
             'AgeBeforeMissing': ['required'],
             'DateOfBirth': ['required'],
             'HairColour': ['required'],
             'EyesColour': ['required'],
             'Weigh': ['required'],
             'Height': ['required'],
             'MissingFrom': ['required'],
             'MissingDate': ['required'],
             'RelativeID': ['required'],
             'RelativeRelation': ['required'],
             'Details': ['required'],
             'MissingPersonImage': ['required'],
         })