예제 #1
0
def update_profile(request):
    if request.method == 'POST':
        user_form = UserUpdateForm(data=request.POST, instance=request.user)
        user_profile_form = UserProfileForm(request.POST,
                                            request.FILES,
                                            instance=request.user.profile)

        if user_form.is_valid() and user_profile_form.is_valid():
            user = user_form.save()
            user.refresh_from_db()
            user_profile_form.save(user=user)
            return redirect('index')
    else:
        try:
            profile = Profile.objects.get(pk=request.user.profile.id)
        except Profile.DoesNotExist:
            raise Http404('Invalid Profile')
        else:
            user_form = UserUpdateForm(instance=profile.user)
            user_profile_form = UserProfileForm(instance=profile)

    return render(request,
                  'blog/edit_profile.html',
                  context={
                      'user_form': user_form,
                      'user_profile_form': user_profile_form
                  })
예제 #2
0
def profile(request):
    if request.method == 'POST':
        form = UserUpdateForm(request.POST, instance=request.user)

        if form.is_valid():
            form.save()
            messages.success(request, 'Account Successfully Updated !')
            return redirect('blog:profile')
    else:
        form = UserUpdateForm(instance=request.user)

    return render(request, 'blog/update.html', {'form': form})
예제 #3
0
def profile_view(request):
    if request.method=='POST':
        u_form=UserUpdateForm(request.POST,instance=request.user)
        p_form=ProfileUpdateForm(request.POST,request.FILES,instance=request.user.profile)
        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            messages.success(request,f'Your Account has been Updated Successfully !')
            return redirect(profile_view)
    else:
        u_form=UserUpdateForm(instance=request.user)
        p_form=ProfileUpdateForm(instance=request.user.profile)
    context={'u_form':u_form,'p_form':p_form}
    return render(request,'blog/profile.html',context)
예제 #4
0
def profile(request):
    if request.method == 'POST':
        user_form = UserUpdateForm(request.POST, instance=request.user)
        profile_form = ProfileUpdateForm(request.POST,
                                         request.FILES,
                                         instance=request.user.profile)
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
            messages.success(request, 'Ваш профиль обновлен!')
            return redirect('blog-profile')
    else:
        user_form = UserUpdateForm(instance=request.user)
        profile_form = ProfileUpdateForm(instance=request.user.profile)

    context = {'user_form': user_form, 'profile_form': profile_form}

    return render(request, 'blog/profile.html', context)
예제 #5
0
def register_profile(request):
    """
    用于展示目前登陆用户的信息,并且可以更新部分信息, 未完成
    """
    login_user = get_login_user(request)
    logging.info('用户: {}, IP: {}, 打开登陆用户信息编辑'.format(login_user,
                                                     get_remote_ip(request)))
    if UserProfile.objects.filter(user=login_user):
        userprofile = UserProfile.objects.get(user=login_user)
    else:
        logging.warn('用户: {}, IP: {}, 登陆用户信息详情暂无, 即将生成'.format(
            login_user, get_remote_ip(request)))
        userprofile = UserProfile(user=login_user)
        userprofile.save()
    userform = UserUpdateForm({
        'email': login_user.email,
        'website': userprofile.website
    })
    if request.method == 'POST':
        logging.info('用户: {}, IP: {}, 用户信息变更提交'.format(login_user,
                                                       get_remote_ip(request)))
        userform = UserUpdateForm(request.POST)
        if userform.is_valid():
            logging.info('用户: {}, IP: {}, 用户信息变更提交有效'.format(
                login_user, get_remote_ip(request)))
            login_user.email = userform.cleaned_data['email']
            login_user.save()
            userprofile.website = userform.cleaned_data['website']
        picture = request.FILES.get('avator')
        if picture:
            logging.info('用户: {}, IP: {}, 用户信息变更照片提交有效'.format(
                login_user, get_remote_ip(request)))
            userprofile.picture = picture
        userprofile.save()
    context = {
        'login_user': login_user,
        'userprofile': userprofile,
        'userform': userform
    }
    return render(request, 'blog/register_profile.html', context=context)
예제 #6
0
def author_profile(request, username):
    author = get_object_or_404(User, username=username)
    u_form = UserUpdateForm(instance=author)
    p_form = ProfileUpdateForm(instance=author.authorprofile)

    if request.method == 'POST':
        u_form = UserUpdateForm(request.POST, instance=author)
        p_form = ProfileUpdateForm(
            request.POST, instance=author.authorprofile)

        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            messages.success(request, f'Your profile has been updated.')
            return redirect('author-profile')

    context = {
        'u_form': u_form,
        'p_form': p_form,
    }

    return render(request, 'blog/author-profile.html', context)