コード例 #1
0
ファイル: views.py プロジェクト: Bulgakoff/BaseDjango
def profile(request):
    if request.method == 'POST':
        form = UserProfileForm(data=request.POST,
                               files=request.FILES,
                               instance=request.user)
        profile_form = ShopUserProfileEditForm(
            data=request.POST, instance=request.user.shopuserprofile)
        if form.is_valid() and profile_form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('auth:profile'))
        else:
            messages.error(request, 'Введены данные не корректно')
            return render(request, 'authapp/login.html')
    else:
        form = UserProfileForm(instance=request.user)
        profile_form = ShopUserProfileEditForm(
            instance=request.user.shopuserprofile)

    # baskets = Basket.objects.filter(user=request.user)
    context = {
        'form': form,
        'profile_form': profile_form,
        # 'baskets': get_basket(request.user),
    }
    return render(request, 'authapp/profile.html', context)
コード例 #2
0
ファイル: views.py プロジェクト: Ildarko99/watches
def user_profile(request):

    if request.method == 'POST':
        user = ShopUserEditForm(request.POST,
                                request.FILES,
                                instance=request.user)
        profile_form = ShopUserProfileEditForm(
            request.POST, instance=request.user.shopuserprofile)
        if user.is_valid() and profile_form.is_valid():
            # with transaction.atomic(): пример исп-я декоратора внутри ф-ции
            # smth_to.save() для примера исп-я декоратора внутри ф-ции
            # user.save()
            #etc
            user.save()
            return HttpResponseRedirect(reverse('main:index'))
    else:
        user = ShopUserEditForm(
            instance=request.user
        )  #если в Джанго не передавать instance, то он будет пытаться создавать новый объект
        profile_form = ShopUserProfileEditForm(
            instance=request.user.shopuserprofile)

    context = {
        'page_title': 'профиль',
        'form': user,
        'profile_form': profile_form
    }
    return render(request, 'authapp/profile.html', context)
コード例 #3
0
def profile(request):
    if request.method == 'POST':
        form = UserProfileForm(data=request.POST,
                               files=request.FILES,
                               instance=request.user)
        profile_form = ShopUserProfileEditForm(
            data=request.POST, instance=request.user.shopuserprofile)
        if form.is_valid() and profile_form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('auth:profile'))
    else:
        form = UserProfileForm(instance=request.user)
        profile_form = ShopUserProfileEditForm(
            instance=request.user.shopuserprofile)

    # baskets = Basket.objects.filter(user=request.user)

    context = {
        'form':
        form,
        'profile_form':
        profile_form,
        'baskets':
        Basket.objects.filter(user=request.user).select_related('product'),
        # 'total_quantity': sum(basket.quantity for basket in baskets),
        # 'total_sum': sum(basket.sum() for basket in baskets),
    }
    return render(request, 'authapp/profile.html', context)
コード例 #4
0
def edit(request):
    title = 'редактирование'

    if request.method == 'POST':
        # Особенность конструктора формы редактирования в Django — необходимо передать сам объект в
        # именованном аргументе instance=request.user
        edit_form = ShopUserEditForm(request.POST,
                                     request.FILES,
                                     instance=request.user)
        # Особенность работы с формой ShopUserProfileEditForm в том, что она заполняется данными из
        # связанной модели ShopUserProfileEditForm(instance=request.user.shopuserprofile)
        profile_form = ShopUserProfileEditForm(
            request.POST, instance=request.user.shopuserprofile)
        if edit_form.is_valid() and profile_form.is_valid():
            # Профиль (profile_form) сохранится автоматически благодаря использованию в модели
            # декоратора @receiver(post_save, sender=ShopUser) .
            edit_form.save()
            return HttpResponseRedirect(reverse('auth:edit'))
    else:
        edit_form = ShopUserEditForm(instance=request.user)
        profile_form = ShopUserProfileEditForm(
            instance=request.user.shopuserprofile)

    content = {
        'title': title,
        'edit_form': edit_form,
        'profile_form': profile_form
    }

    return render(request, 'authapp/edit.html', content)
コード例 #5
0
def edit(request):
    title = 'редактирование'

    if request.method == 'POST':
        edit_form = ShopUserEditForm(request.POST,
                                     request.FILES,
                                     instance=request.user)
        profile_form = ShopUserProfileEditForm(
            request.POST, instance=request.user.shopuserprofile)

        if edit_form.is_valid() and profile_form.is_valid():
            edit_form.save()
            return HttpResponseRedirect(reverse('auth:edit'))
    else:
        edit_form = ShopUserEditForm(instance=request.user)
        profile_form = ShopUserProfileEditForm(
            instance=request.user.shopuserprofile)

    content = {
        'title': title,
        'edit_form': edit_form,
        'profile_form': profile_form
    }

    return render(request, 'authapp/edit.html', content)
コード例 #6
0
 def post(self, request, **kwargs):
     edit_form = ShopUserEditForm(request.POST,
                                  request.FILES,
                                  instance=request.user)
     profile_form = ShopUserProfileEditForm(
         request.POST, instance=request.user.shopuserprofile)
     if edit_form.is_valid() and profile_form.is_valid():
         edit_form.save()
         return HttpResponseRedirect(reverse('authapp:edit'))
コード例 #7
0
ファイル: views.py プロジェクト: OlegZhdanoff/django_basic
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['title'] = 'Профиль ' + self.request.user.username
        if self.request.POST:
            context['profile_form'] = ShopUserProfileEditForm(
                self.request.POST, instance=self.request.user.shopuserprofile)
        else:
            context['profile_form'] = ShopUserProfileEditForm(
                instance=self.request.user.shopuserprofile)

        return context
コード例 #8
0
    def post(self, request, *args, **kwargs):
        edit_form = ShopUserEditForm(request.POST,
                                     request.FILES,
                                     instance=request.user)
        profile_form = ShopUserProfileEditForm(
            request.POST, instance=request.user.shopuserprofile)

        if edit_form.is_valid() and profile_form.is_valid():
            edit_form.save()
            messages.success(request, 'User info was successfully updated!')
            return HttpResponseRedirect(reverse('auth:edit'))
        else:
            messages.error(request, 'User info was not updated.')
コード例 #9
0
def edit(request):
    if request.method == "POST":
        edit_form = ShopUserEditForm(request.POST,
                                     request.FILES,
                                     instance=request.user)
        profile_edit_form = ShopUserProfileEditForm(
            request.POST, instance=request.user.shopuserprofile)
        if edit_form.is_valid() and profile_edit_form.is_valid():
            edit_form.save()
            return HttpResponseRedirect(reverse("authapp:edit"))
    else:
        edit_form = ShopUserEditForm()
        profile_edit_form = ShopUserProfileEditForm(
            instance=request.user.shopuserprofile)

    content = {"edit_form": edit_form, "profile_form": profile_edit_form}
    return render(request, "authapp/edit.html", content)
コード例 #10
0
def edit(request, pk):
    get_user = get_object_or_404(ShopUser, pk=pk)
    edit_form = ShopUserEditForm(instance=get_user)
    profile_form = ShopUserProfileEditForm(instance=get_user.shopuserprofile)
    if request.method == 'POST':
        edit_form = ShopUserEditForm(request.POST, request.FILES, instance=get_user)
        profile_form = ShopUserProfileEditForm(request.POST, instance=get_user.shopuserprofile)
        if edit_form.is_valid() and profile_form.is_valid():
            edit_form.save()
            return HttpResponseRedirect(reverse('auth_urls:edit', kwargs={'pk': pk}))
    context = {
        'edit_form': edit_form,
        'profile_form': profile_form,
        'submit_label': 'Применить',
    }
    page_name(context, 'Edit profile')
    return render(request, 'authapp/edit.html', context)
コード例 #11
0
ファイル: views.py プロジェクト: Dmedchi/Chromesthesia
def update(request):
    if request.method == 'POST':
        form = ShopUserEditForm(request.POST, request.FILES,
                                instance=request.user)
        profile_form = ShopUserProfileEditForm(request.POST, instance=request.user.shopuserprofile)
        if form.is_valid() and profile_form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('auth:update'))
    else:
        form = ShopUserEditForm(instance=request.user)
        profile_form = ShopUserProfileEditForm(instance=request.user.shopuserprofile)

    content = {
        'title': 'Редактирование',
        'form': form,
        'profile_form': profile_form
    }
    return render(request, 'authapp/update.html', content)
コード例 #12
0
ファイル: views.py プロジェクト: OlegZhdanoff/django_basic
    def post(self, request, *args, **kwargs):
        """
        Handle POST requests: instantiate a form instance with the passed
        POST variables and then check if it's valid.
        """
        form = ShopUserProfileForm(request.POST,
                                   request.FILES,
                                   instance=request.user)

        profile_form = ShopUserProfileEditForm(
            self.request.POST, instance=self.request.user.shopuserprofile)
        print(form)
        print(form.is_valid(), profile_form.is_valid())
        form.is_valid()
        if form.is_valid() and profile_form.is_valid():
            return self.form_valid(form, profile_form)
        else:
            return self.form_invalid(form, profile_form)
コード例 #13
0
 def get(self, request, **kwargs):
     title = 'редактирование'
     edit_form = ShopUserEditForm(instance=request.user)
     profile_form = ShopUserProfileEditForm(
         instance=request.user.shopuserprofile)
     content = {
         'title': title,
         'edit_form': edit_form,
         'profile_form': profile_form
     }
     return render(request, 'authapp/edit.html', content)
コード例 #14
0
def profile(request):
    if request.method == 'POST':
        form = UserProfileForm(data=request.POST,
                               files=request.FILES,
                               instance=request.user)
        profile_form = ShopUserProfileEditForm(
            request.POST, instance=request.user.userprofile)
        if form.is_valid() and profile_form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('auth:profile'))
    else:
        form = UserProfileForm(instance=request.user)
        profile_form = ShopUserProfileEditForm(
            instance=request.user.userprofile)
    context = {
        'form': form,
        'profile_form': profile_form,
        'baskets': Basket.objects.filter(user=request.user),
    }
    return render(request, 'authapp/profile.html', context)
コード例 #15
0
ファイル: views.py プロジェクト: BRD69/django-market
def edit(request):
    title = "редактирование"

    if request.method == "POST":
        edit_form = ShopUserEditForm(request.POST, request.FILES, instance=request.user)
        profile_edit_form = ShopUserProfileEditForm(request.POST, request.FILES, instance=request.user.shopuserprofile)
        if edit_form.is_valid() and profile_edit_form.is_valid():
            edit_form.save()
            # profile_edit_form.save()
            return HttpResponseRedirect(reverse("auth:edit"))
    else:
        edit_form = ShopUserEditForm(instance=request.user)
        profile_edit_form = ShopUserProfileEditForm(instance=request.user.shopuserprofile)

    content = {"title": title,
               "edit_form": edit_form,
               "profile_edit_form": profile_edit_form,
               "media_url": settings.MEDIA_URL}

    return render(request, "authapp/edit.html", content)
コード例 #16
0
    def get(self, request, *args, **kwargs):
        edit_form = ShopUserEditForm(instance=request.user)
        profile_form = ShopUserProfileEditForm(
            instance=request.user.shopuserprofile)

        context = {
            'title': 'edit user',
            'edit_form': edit_form,
            'profile_form': profile_form,
        }
        return render(request, 'authapp/edit.html', context)
コード例 #17
0
ファイル: views.py プロジェクト: OlegZhdanoff/django_basic
def profile(request):

    if request.method == 'POST':
        form = ShopUserProfileForm(request.POST,
                                   request.FILES,
                                   instance=request.user)
        profile_form = ShopUserProfileEditForm(
            request.POST, instance=request.user.shopuserprofile)
        if form.is_valid() and profile_form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('auth:profile'))
    else:
        form = ShopUserProfileForm(instance=request.user)
        profile_form = ShopUserProfileEditForm(
            instance=request.user.shopuserprofile)

    # baskets = Basket.objects.filter(user=request.user)
    title = 'Профиль ' + request.user.username
    content = {'title': title, 'form': form, 'profile_form': profile_form}
    return render(request, 'authapp/profile.html', content)
コード例 #18
0
ファイル: views.py プロジェクト: MarwinBl/django_shop
def edit(request):
    if request.method == 'POST':
        edit_form = ShopUserEditForm(request.POST,
                                     request.FILES,
                                     instance=request.user)
        profile_edit_form = ShopUserProfileEditForm(
            request.POST, instance=request.user.shopuserprofile)
        if edit_form.is_valid() and profile_edit_form.is_valid():
            edit_form.save()
        return render(request, 'authapp/edit.html', {
            'edit_form': edit_form,
            'profile_edit_form': profile_edit_form,
        })
    edit_form = ShopUserEditForm(instance=request.user)
    profile_edit_form = ShopUserProfileEditForm(
        instance=request.user.shopuserprofile)
    return render(request, 'authapp/edit.html', {
        'edit_form': edit_form,
        'profile_edit_form': profile_edit_form,
    })
コード例 #19
0
def edit(request):
    title = 'редактирование'
    if request.method == 'POST':
        # instance=request.user - указывает на тот объект который мы редактируем
        edit_form = ShopUserEditForm(request.POST, request.FILES, instance=request.user)
        # Добавим ещё одну форму
        profile_form = ShopUserProfileEditForm(request.POST, instance=request.user.shopuserprofile)
        if edit_form.is_valid() and profile_form.is_valid():
            edit_form.save()
            # profile_form - сохраняется через сигналы, поэтому сохранение тут отсутствует
            return HttpResponseRedirect(reverse('auth:edit'))
    else:
        # если GET запрос
        edit_form = ShopUserEditForm(instance=request.user)
        profile_form = ShopUserProfileEditForm(instance=request.user.shopuserprofile)

    content = {
        'title': title,
        'edit_form': edit_form,
        'profile_form': profile_form
    }
    return render(request, 'authapp/edit.html', content)
コード例 #20
0
ファイル: views.py プロジェクト: Toptimum/Django2
def update(request):
    if request.method == 'POST':
        form = ShopUserUpdateForm(request.POST,
                                  request.FILES,
                                  instance=request.user)
        # она заполняется данными из связанной модели
        profile_form = ShopUserProfileEditForm(
            request.POST, instance=request.user.shopuserprofile)
        if form.is_valid() and profile_form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('auth:update'))
    else:
        form = ShopUserUpdateForm(instance=request.user)
        profile_form = ShopUserProfileEditForm(
            instance=request.user.shopuserprofile)
    content = {
        'title': 'Редактирование данных',
        'form': form,
        'profile_form': profile_form,
        'main_menu': main_menu(),
        'info_pages': footer_menu(),
        'basket': get_basket(request),
    }
    return render(request, 'authapp/update.html', content)