1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
1

'NoneType' object has no attribute

15.02.2019, 20:32. Показов 2375. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь добавить товар в корзину. Хочу начать с простого.
Есть 3 модели: Product, CartItem, Cart.
Для начала хочу взять первую корзину (из всех существующих) и поместить в неё выбранный продукт, но почему-то корзина не определяется...

models
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class CartItem(models.Model):
    product = models.ForeignKey(Product)
    qty = models.PositiveIntegerField(default=1)
    item_total = models.DecimalField(max_digits=9, decimal_places=2, default=0.00)
 
    def __unicode__(self):
        return unicode(self.product.shown_name)
 
 
class Cart(models.Model):
    items = models.ManyToManyField(CartItem, blank=True)
    cart_total = models.DecimalField(max_digits=9, decimal_places=2, default=0.00)
 
    def __unicode__(self):
        return unicode(self.id)
views
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def cart_view(request):
    cart = Cart.objects.first()
    context = {
        'cart': cart
    }
    return render(request, 'products/cart.html', context)
 
def add_to_cart_view(request, product_slug):
    print(1)
    product = Product.objects.get(slug=product_slug)
    new_item, _ = CartItem.objects.get_or_create(product=product, item_total=product.default_price)
 
    cart = Cart.objects.first()
    print(len(Cart.objects.all()))
    print(dir(cart))
 
    if new_item.product not in cart.items.all():
        cart.items.add(new_item)
        cart.save()
        print(cart.items.all())
        return HttpResponseRedirect('/cart/')
    else:
        return HttpResponseRedirect('/cart/')
urls
Python
1
2
url(r'^add_to_cart/(?P<product_slug>[-\w]+)$', add_to_cart_view, name='add_to_cart'),
url(r'^cart/$', cart_view, name='cart'),
template
Python
1
<a href='{% url "add_to_cart" product_slug=product_item.slug %}'><button class="btn btn-primary" type="submit">В корзину</button></a>
Смотрел, функция начинает свою работу, определяет выбранный товар, но почему-то наотрез отказывается его туда добавлять...

Добавлено через 18 минут
С этим разобрался. Нужно было предварительно создать корзину в админке...

Подскажите лучше, как сделать редирект на страницу.
Пробую так
Python
1
return HttpResponseRedirect('/cart/')
кидает на 127.0.0.1:8000/cart/

Если так
Python
1
return HttpResponseRedirect('/cart/')
то кидает на 127.0.0.1:8000/ru/products/add_to_cart/products/cart/

Мне же нужно, чтобы редиректило на 127.0.0.1:8000/ru/productscart/
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2019, 20:32
Ответы с готовыми решениями:

AttributeError: 'NoneType' object has no attribute
class Technic(models.Model): categories_list = ( (None, &quot;Выберите категорию&quot;), ...

Ошибка 'NoneType' object has no attribute 'auser'
Необходимо автоматически прикреплять имя автора к созданной им статье. В процессе создания...

Как прочитать содержимое request.FILES.get и обойти ошибку 'NoneType' object has no attribute 'read'?
Я через ajax отправляю картинку, которую надо сохранить в определённой папке. Я это думаю сделать...

AttributeError: 'unicode' object has no attribute 'get'
Учу django 1.1 Выдаёт ошибку AttributeError ... 'unicode' object has no attribute 'get' ...

Проблема object has no attribute 'cleaned_data'
Ребята помогите!!! from django.shortcuts import render from . forms import SubscriberForm ...

5
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
15.02.2019, 20:40 2
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
С этим разобрался
Правила

4.10 Если вопрос был решен вами самостоятельно, отпишите об этом в своей теме - есть и другие люди, которые столкнутся с той же проблемой, и им поможет ваш ответ.
5.16 Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
0
1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
15.02.2019, 21:22  [ТС] 3
Цитата Сообщение от outoftime Посмотреть сообщение
4.10 Если вопрос был решен вами самостоятельно, отпишите об этом в своей теме - есть и другие люди, которые столкнутся с той же проблемой, и им поможет ваш ответ.
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
С этим разобрался. Нужно было предварительно создать корзину в админке...
Цитата Сообщение от outoftime Посмотреть сообщение
5.16 Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
множество - понятие растяжимое. и в среднем 1 вопрос в день - это много? интересно, где та черта, через которую нельзя переступать? интересно, почему вы мне это пишите? есть ведь куда интересней "экзампляры". вот, например.
'NoneType' object has no attribute


да и мне казалось, этот форум создан для того, чтобы друг другу помогали, а не упрекали в чём-то.
0
outoftime
15.02.2019, 22:43
  #4

Не по теме:

Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
мне казалось, этот форум создан для того, чтобы друг другу помогали, а не упрекали в чём-то
Есть и гадить в одном месте?

0
1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
15.02.2019, 23:58  [ТС] 5
outoftime,

Не по теме:

м... ну я не только "гажу", если что.

0
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
16.02.2019, 02:02 6
m0nte-cr1st0, я не добавил ссылку на тему которую данная дублирует, видимо поэтому её до сих пор не закрыли модераторы.
0
16.02.2019, 02:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2019, 02:02
Помогаю со студенческими работами здесь

'Cart' object has no attribute 'add'
Здравствуйтею. 'Cart' object has no attribute 'add' Файлы приложения cart views.py ...

'ImageField' object has no attribute 'value_from_datadict'
я новичок в django, поэтому просто попытался создать и отправить форму. forms.py: from .models...

Ошибка 'function' object has no attribute 'id'
Добрый вечер. Пытаюсь выполнить лабораторные работы по методичке, однако либо что-то упустил, либо...

AttributeError: 'DeferredAttribute' object has no attribute 'name' | Django
Это файл модели. class artsl(models.Model): obrs = models.CharField('Название', null=True,...

AttributeError at /homepage/ 'tuple' object has no attribute 'split'
Создаю свой блок, столкнулся с ошибкой, какой день не могу её исправить. Сама ошибка:...

Ошибка - AttributeError: 'function' object has no attribute 'as_view'
Друзья, помогите разобраться с ошибкой, что делаю не так? Класс для создания новой записи, при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru