コード例 #1
0
ファイル: views.py プロジェクト: budakadil1/hellgame-live
def editprofile(request):
    if request.method == "POST":
        profile_form = ProfileForm(request.POST, instance=request.user.profile)
        user_get_ms_info = User.objects.get(username=request.user.username)
        user_merchant_only_form = UserMerchantOnlyForm(request.POST,
                                                       instance=request.user,
                                                       ms_kw=user_get_ms_info)
        if profile_form.is_valid() and user_merchant_only_form.is_valid():
            user_merchant_only_form.save()
            profile_form.save()
            return redirect('user:browseownprofile')
        else:
            context = {
                'form': profile_form,
                'userform': user_merchant_only_form,
                'user': request.user
            }
            return render(request, 'user/editprofile.html', context)
    else:
        profile_form = ProfileForm(instance=request.user.profile)
        user_merchant_only_form = UserMerchantOnlyForm(instance=request.user)
        context = {
            'form': profile_form,
            'userform': user_merchant_only_form,
            'user': request.user
        }
        return render(request, 'user/editprofile.html', context)
コード例 #2
0
ファイル: views.py プロジェクト: ireback01/es-pl7-master
def edit_profile(request):
	#Processes 2 forms.. 1 Auth user and 1 custom model (profile)
	profile = Profile.objects.get(id=request.user.id)
	if request.method == 'POST':
		profile_form = ProfileForm(request.POST, request.FILES, instance=request.user.profile)
		user_form = EditProfileForm(request.POST, instance=request.user)
		#return render_to_response('profile/debug.html', {'profile_form': profile_form})
		if profile_form.is_valid() and user_form.is_valid():
			profile_form.save()
			user_form.save()
			return redirect('/')
		else:
			return render(request, 'profile/edit_profile.html', {
			'user_form':user_form,
			'profile_form':profile_form,
			'profile':profile
			} ) 
	else:
		profile_form = ProfileForm(instance = request.user.profile)
		user_form = EditProfileForm(instance = request.user)
		return render(request, 'profile/edit_profile.html', {
			'user_form':user_form,
			'profile_form':profile_form,
			'profile':profile
			} )
コード例 #3
0
def edit_user_info(request):
    msg = None
    msg_type = None
    user = request.user
    if request.method == 'POST':
        user_form = UpdateUserForm(request.POST, instance=user)
        profile_form = ProfileForm(request.POST, instance=user.profile)
        if user_form.is_valid() and profile_form.is_valid():
            password_match = check_password(request.POST['password'],
                                            user.password)
            if password_match:
                user = user_form.save()
                profile_form.save(user)
                msg = 'Changes successfully saved'
                msg_type = 'SUCCESS'
            else:
                msg = 'Password is incorrect'
                msg_type = 'ERROR'
    else:
        user_form = UpdateUserForm(instance=user)
        profile_form = ProfileForm(instance=user.profile)

    context = {
        'user_form': user_form,
        'profile_form': profile_form,
        'password_form': PasswordForm(),
        'msg': msg,
        'msg_type': msg_type,
    }

    return render(request, 'user/edit_user.html', context=context)
コード例 #4
0
 def post(self, request):
     user = User.objects.get(id=request.user.id)
     data = request.POST.copy()
     # ensures that the email field is not updated
     data["email"] = user.email
     profile_form = ProfileForm(data, files=request.FILES, instance=user)
     if profile_form.is_valid():
         profile_form.save()
         messages.success(
             request,
             SUCCESS_MESSAGES["operation_successful"].format("save"))
         return redirect("profile_url")
     # this ensures that whenever error(s) are displayed in the template
     # the bank form still retains its form displayed
     # else the form shows none because it can access a bank form from the context
     # this issue occurs because we a rerendering the page,
     # if we redirect to the page, then we don't need to bother about this issue,
     # but then again, we would loose the form errors
     # perhaps we can make use of messages, ie putting the errors in messages will
     # help us avoid this
     # but we currently want to show the errors withing the template input itself
     context = self._set_profile_context(profile_form, request, user)
     return render(request,
                   template_name="dashboard/profile/profile.html",
                   context=context)
コード例 #5
0
ファイル: api.py プロジェクト: huichen90/swiper
def update_profile(request):
    '''修改用户配置'''
    profile = request.user.profile
    form = ProfileForm(request.POST, instance=profile)
    if form.is_valid():
        form.save()
    else:
        raise errors.ParamsError
コード例 #6
0
ファイル: api.py プロジェクト: Hy-Oy/Swipter
def set_profile(request):
    user = request.user
    form = ProfileForm(data=request.POST, instance=user.profile)
    if form.is_valid():
        form.save()
        return render_json()
    else:
        return render_json(data=form.errors)
コード例 #7
0
ファイル: views.py プロジェクト: victor999999/AllauthTest
 def post(self, request):
     # instance参数表示用model实例来初始化表单,这样就可以达到通过表单来更新数据
     form = ProfileForm(request.POST, instance=request.user)
     if form.is_valid():
         form.save()
         # 添加一条信息,表单验证成功就重定向到个人信息页面
         messages.add_message(request, messages.SUCCESS, '个人信息更新成功!')
         return redirect('user:profile')
     else:
         return render(request,
                       'user/change_profile.html',
                       context={'form': form})
コード例 #8
0
def registrationFormExtended(request):
    if request.method == 'POST':
        user_form = UserCreationFormCustom(request.POST)
        profile_form = ProfileForm(request.POST)
        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save()
            profile_form.save(user)
            return redirect(to=settings.LOGIN_URL)
    else:
        user_form = UserCreationFormCustom()
        profile_form = ProfileForm()

    context = {'user_form': user_form, 'profile_form': profile_form}
    return render(request, 'user/register.html', context=context)
コード例 #9
0
ファイル: views.py プロジェクト: daiki-0520/django_practice
def register(request):
    user_form = UserForm(request.POST or None)
    profile_form = ProfileForm(request.POST or None, request.FILES or None)
    if user_form.is_valid() and profile_form.is_valid():
        user = user_form.save(commit=False)
        try:
            validate_password(user_form.cleaned_data.get('password'), user)
        except ValidationError as e:
            user_form.add_error('password', e)
            return render(request,
                          'user/registration.html',
                          context={
                              'user_form': user_form,
                              'profile_form': profile_form,
                          })

        user.set_password(user.password)
        user.save()
        profile = profile_form.save(commit=False)
        profile.user = user
        profile.save()
    return render(request,
                  'user/registration.html',
                  context={
                      'user_form': user_form,
                      'profile_form': profile_form
                  })
コード例 #10
0
ファイル: views.py プロジェクト: RocherCyril/annonces
def CreateProfile(request):

    if request.method == 'POST':
        user_form = UserForm(request.POST)
        profile_form = ProfileForm(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()
            messages.add_message(request, messages.INFO,
                                 "Vous êtes désormais inscrit.")
            return redirect('/')

    else:
        user_form = UserForm()
        profile_form = ProfileForm()

    return render(request, 'registration/create.html', {
        'user_form': user_form,
        'profile_form': profile_form
    })
コード例 #11
0
ファイル: apis.py プロジェクト: Ba-Gai/swiper
def set_profile(request):
    # 将提交的数据放进表单,并初始化
    user_form = UserForm(request.POST)
    user = request.user
    # 判断表单是否有效
    if user_form.is_valid():
        # __dict__ 用来修改类对象的属性值
        user.__dict__.update(user_form.cleaned_data)
        user.save()
    else:
        # 直接抛出实例,手动添加data
        raise status.UserDataErr(user_form.errors)
        # return render_json(data=user_form.errors, code=status.UserDataErr)

    profile_form = ProfileForm(request.POST)
    # profile = user.profile
    if profile_form.is_valid():
        # 当你通过表单获取你的模型数据,但是需要给模型里null=False字段添加一些非表单的数据,该方法会非常有用。如果你指定commit=False,
        # 那么save方法不会理解将表单数据存储到数据库,而是给你返回一个当前对象。这时你可以添加表单以外的额外数据,再一起存储。
        # 生成一个空对象,减少跟数据库通信的次数
        profile = profile_form.save(commit=False)
        profile.id = user.id
        profile.save()
        # 缓存更新
        key = keys.PROFILE_KEY % request.user.id
        # 通过删除缓存达到更新目的,还有就是被动的过期
        # cache.delete(key)
        cache.set(key, profile.to_dict())
    else:
        raise status.ProfileDataErr(profile_form.errors)
        # return render_json(data=profile_form.errors, code=status.ProfileDataErr)

    return render_json()
コード例 #12
0
ファイル: views.py プロジェクト: VincentTibubos/pravada
def manageuser(request, username):
    user = get_object_or_404(User, username = username)
    user2 = Profile.objects.get(user = user.pk)
    profileform = ProfileForm(instance = user2)
    userform = UserEditForm(instance = user)
    args = {'profileform' : profileform, 'userform' : userform, 'user' : user2, 'data' : user}
    if request.method == 'POST':
        profileform = ProfileForm(request.POST, request.FILES, instance = user2)
        userform = UserEditForm(request.POST, instance = user)
        if profileform.is_valid() and userform.is_valid():
            profileform.save()
            userform.save()
            args = {'profileform' : profileform, 'userform' : userform, 'user' : user2, }
            return redirect('/webmaster/user/'+user.username)
        else:
            print("errors : {}".format(profileform.errors.as_data()))
            print("errors : {}".format(userform.errors.as_data()))
    return render(request, 'webadmin/pages/manage/user/index.html',args)
コード例 #13
0
ファイル: views.py プロジェクト: mokshsharma089/projectArnold
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():
            profile_form.save()
            messages.success(request,
                             ('Your profile was successfully updated!'))
            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, 'user/profile_update.html', {
        'user_form': user_form,
        'profile_form': profile_form
    })
コード例 #14
0
ファイル: api.py プロジェクト: gaosanshi/swiper
def modify_profile(request):
    '''修改个人资料'''
    form = ProfileForm(request.POST)
    if form.is_valid():
        profile = form.save(commit=False)
        profile.id = request.user.id
        profile.save()
        return render_json(profile.to_dict())
    else:
        return render_json(form.errors, errors.ProfileError.code)
コード例 #15
0
def set_profile(request):
    ''''''
    form = ProfileForm(request.POST)
    if form.is_valid():
        profile = form.save(commit=False)
        profile.id = request.session['uid']
        profile.save()
        return render_json()
    else:
        return render_json(form.errors, errors.PROFILE_ERR)
コード例 #16
0
ファイル: api.py プロジェクト: aomenxinpujing/swiper
def edit_profile(request):
    uid = request.session.get('uid')
    profileform = ProfileForm(request.POST)
    if profileform.is_valid():
        profile = profileform.save(commit=False)
        profile.id = uid
        profile.save()
        return render_json(profile.to_dict())
    else:
        return render_json(profileform.errors, PROFILE_ERROR)
コード例 #17
0
ファイル: api.py プロジェクト: ttplus5/swiper
def set_profile(request):
    '''修改个人配置'''
    form = ProfileForm(request.POST)
    if form.is_valid():
        profile = form.save(commit=False)
        profile.id = request.session['uid']
        profile.save()
        return render_json(None)
    else:
        raise errors.ProfileErr(form.errors)
コード例 #18
0
ファイル: views.py プロジェクト: ivardu/Social-Net3
def profile(request):
    if request.method == 'POST':
        pform = ProfileForm(request.POST,
                            request.FILES,
                            instance=request.user.profile)
        uform = UserUpdateForm(request.POST, instance=request.user)

        if pform.is_valid() and uform.is_valid():
            pform.save()
            uform.save()

            return HttpResponseRedirect(reverse('profile'))
        # return HttpResponse(request.FILES)
    else:
        pform = ProfileForm(instance=request.user.profile)
        uform = UserUpdateForm(instance=request.user)

    return render(request, 'user/profile.html', {
        'pform': pform,
        'uform': uform
    })
コード例 #19
0
ファイル: api.py プロジェクト: SH-6/swiper
def set_profile(request):
    '''修改个人资料'''
    form = ProfileForm(request.POST)
    # 数据检查
    if form.is_valid():
        profile = form.save(commit=False)  # 通过Form表单创建出model对象,但并不在数据库中创建
        profile.id = request.user.id  # 给profile设置id
        profile.save()  # 保存
        info_log.debug('更新缓存')
        return render_json(profile.to_dict())
    else:
        raise errors.ProfileErr(form.errors)
コード例 #20
0
ファイル: views.py プロジェクト: RocherCyril/annonces
def UpdateProfile(request):
    user_instance = request.user
    profile_instance = user_instance.profile

    if request.method == "POST":
        profile_form = ProfileForm(request.POST, instance=profile_instance)
        user_form = UserUpdateForm(request.POST, instance=user_instance)
        if profile_form.is_valid() and user_form.is_valid():
            profile_form.save()
            # user = user_form.save(commit=False)

            user_form.save()

    else:
        profile_form = ProfileForm(instance=profile_instance)
        user_form = UserUpdateForm(instance=user_instance)

    return render(request, "account/profile.html", {
        'user_form': user_form,
        'profile_form': profile_form
    })
コード例 #21
0
def set_profile(request):
    '''修改个人配置'''
    form = ProfileForm(request.POST)
    if form.is_valid():
        profile = form.save(commit=False)
        profile.id = request.session['uid']
        profile.save()

        # 更新缓存
        key = 'ProfileDict-%s' % profile.id
        cache.set(key, profile.to_dict(), 86400 * 7)
        return render_json(None)
    else:
        raise errors.ProfileErr(form.errors)
コード例 #22
0
def profile_editor(request):
    context = dict()
    context['user'] = request.user
    context['edit_form'] = ProfileForm
    context.update(csrf(request))
    if request.POST:
        form = ProfileForm(request.POST)
        context['edit_form'] = form
        if form.is_valid():
            form.save(commit=False)
            user_id = request.user.id

            user_profile = UserProfile.objects.get(user_id=user_id)
            user_profile.first_name = request.POST['first_name']
            user_profile.last_name = request.POST['last_name']
            user_profile.birthday = request.POST['birthday']
            user_profile.about_user = request.POST['about_user']
            user_profile.save()

            return redirect('user.views.profile', user_id=user_id)
        else:
            context['form'] = form
    return render(request, "profile_editor.html", context)
コード例 #23
0
 def post(self, request):
     pf = get_object_or_404(UserProfile, owner=self.request.user)
     form1 = ProfileForm(request.POST, instance=pf, prefix='profile')
     uf = get_object_or_404(User, username=self.request.user)
     form2 = UserForm(request.POST, instance=uf, prefix='user')
     if form1.is_valid() and form2.is_valid():
         profile = form1.save(commit=False)
         # profile.owner=self.request.user
         profile.save()
         form2.save()
         return redirect('home:all')
     else:
         ctx = {'form1': form1, 'form2': form2}
         return render(request, 'user/user_profile.html', ctx)
コード例 #24
0
ファイル: api.py プロジェクト: SceneryCN/swiper
def modify_profile(request):
    '''修改个人资料'''
    form = ProfileForm(request.POST)
    if form.is_valid():
        profile = form.save(commit=False)
        profile.id = request.user.id
        profile.save()
        result = profile.to_dict()

        # 添加缓存
        cache.set(f'Profile-{profile.id}', result)

        return render_json(result)
    else:
        raise errors.ProfileError
コード例 #25
0
def set_profile(request):
    form = ProfileForm(request.POST)
    if form.is_valid():
        profile = form.save(commit=False)  # 未添加到数据库  但得到profile模型对象
        profile.id = request.user.id
        profile.save()
        #数据发生变化后需要更新缓存

        key = keys.PROFILE % request.user.id
        profile_data = profile.to_dict('vibration', 'only_matche', 'auto_play')
        cache.set(key, profile_data)

        return render_json()
    else:
        return render_json(form.errors, code=errors.ProfileErr.code)
コード例 #26
0
ファイル: api.py プロジェクト: v118/swiper
def set_profile(request):
    '''设置用户的个人资料'''
    form = ProfileForm(request.POST)
    if form.is_valid():
        profile = form.save(commit=False)
        profile.id = request.session['uid']
        profile.save()

        # 修改缓存
        key = keys.PROFILE_KEY % request.user.id
        cache.set(key, profile.to_dict(), 3600)
        print('修改缓存')
        return render_json()
    else:
        raise errors.ProfileErr(form.errors)
コード例 #27
0
ファイル: api.py プロジェクト: sz1811/swiper
def edit_profile(request):
    """修改个人资料"""
    form = ProfileForm(request.POST)
    # user = User.get(id=request.session['uid'])
    if form.is_valid():
        profile = form.save(commit=False)
        profile.id = request.session['uid']
        profile.save()

        # 更新缓存
        cache.set(keys.PROFILE_DICT % profile.id, profile.to_dict(), 86400 * 7)
        # 记录日志
        logger.info(f'User {profile.id} has changed profile')
        return render_json(profile.to_dict())
    else:
        raise errors.ProfileErr(data=form.errors)
コード例 #28
0
def set_profile(request):
    '''修改个人资料'''
    if not request.method == 'POST':
        return render_json('request method error', error.REQUEST_ERROR)

    uid = request.session.get('uid')
    profile_form = ProfileForm(request.POST)

    if profile_form.is_valid():
        profile = profile_form.save(commit=False)
        profile.id = uid
        profile.save()

        return render_json('modify success')
    else:
        return render_json(profile_form.errors, error.FORM_ERROR)
コード例 #29
0
def edit_profile(request):
    """修改个人资料"""
    user = request.user
    form = ProfileForm(request.POST)
    if form.is_valid():
        profile = form.save(
            commit=False
        )  # 继承了ModelForm, form相当于Model对象, commit=False 先不提交, 返回一个profile对象
        profile.id = user.id
        profile.save()  # 这里save()相当于更新该id对应数据

        # 更新到缓存
        key = keys.PROFILE_KEY % user.id
        cache.set(key, profile.to_dict(), 86400 * 14)
        return render_json(data=profile.to_dict())
    return render_json(code=errors.PROFILE_ERR, data=form.errors)
コード例 #30
0
ファイル: api.py プロジェクト: wangxs35/test
def set_profile(request):
    """修改个人资料"""
    if not request.method == "POST":
        return HttpResponse('request method error')

    uid = request.session.get('uid')
    profile_form = ProfileForm(request.POST)

    if profile_form.is_valid():
        profile = profile_form.save(commit=False)
        profile.id = uid
        profile.save()
        return render_json('modify profile success')

    else:
        raise render_json(profile_form.errors, errors.FROM_VALUE_ERROR)
コード例 #31
0
ファイル: apis.py プロジェクト: gz-1901/swiper
def set_profile(request):
    user = request.user

    form = ProfileForm(data=request.POST, instance=user.profile)

    if form.is_valid():
        profile = form.save()

        profile_data = profile.to_dict(exclude=['auto_play'])

        # 更新成功后,将新数据设置到缓存中
        key = cache_keys.PROFILE_DATA_PREFIX.format(profile.id)
        cache.set(key, profile_data)

        return render_json()
    else:
        return render_json(data=form.errors)