С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 23.03.2021
Сообщений: 29

Ошибка InvalidOperation at / [<class 'decimal.ConversionSyntax'>]

26.03.2022, 16:00. Показов 1932. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Трэйсбэк:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Request Method: GET
Request URL: [url]http://127.0.0.1:8000/[/url]
 
Django Version: 4.0.3
Python Version: 3.9.4
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'shop.apps.ShopConfig',
 'cart.apps.CartConfig',
 'order.apps.OrderConfig']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']
 
 
Template error:
In template D:\Projects py\django\mafia_rekvisit\mafia\shop\templates\shop\index.html, error at line 68
   [<class 'decimal.ConversionSyntax'>]
   58 :                                     <svg class="img" width="23" height="21" viewBox="0 0 23 21" fill="none" xmlns="http://www.w3.org/2000/svg">
   59 :                                     <path id="Shape" fill-rule="evenodd" clip-rule="evenodd" d="M17.0917 7.89236L12.4495 1.00805C12.2385 0.799436 11.922 0.59082 11.6055 0.59082C11.289 0.59082 10.9725 0.695128 10.7615 1.00805L6.11927 7.89236H1.05505C0.422018 7.89236 0 8.30959 0 8.93544V9.24836L2.63761 18.949C2.84862 19.7834 3.69266 20.5136 4.6422 20.5136H18.3578C19.3073 20.5136 20.1514 19.8877 20.3624 18.949L23 9.24836V8.93544C23 8.30959 22.578 7.89236 21.945 7.89236H17.0917ZM8.44043 7.89217L11.6056 3.30263L14.7707 7.89217H8.44043ZM9.49536 14.1504C9.49536 15.2978 10.4449 16.2366 11.6055 16.2366C12.766 16.2366 13.7155 15.2978 13.7155 14.1504C13.7155 13.003 12.766 12.0643 11.6055 12.0643C10.4449 12.0643 9.49536 13.003 9.49536 14.1504Z" fill="white"/>
   60 :                                     </svg>
   61 :                                 </a>
   62 : 
   63 :                             <div class="quantity">{{ cart|length }}</div>
   64 :                             </div>
   65 : 
   66 :                             <div class="basket__info">
   67 :                                 <div class="basket__text">Корзина</div>
   68 :                                 <div class="basket__price"> {{ cart.get_total_price }}  руб.</div>
   69 :                             </div>
   70 : 
   71 :                         </div>
   72 :                     {% else %}
   73 :                         <div class="basket">
   74 :                             <div class="wrap">
   75 :                                 <svg class="img" width="23" height="21" viewBox="0 0 23 21" fill="none" xmlns="http://www.w3.org/2000/svg">
   76 :                                     <path id="Shape" fill-rule="evenodd" clip-rule="evenodd" d="M17.0917 7.89236L12.4495 1.00805C12.2385 0.799436 11.922 0.59082 11.6055 0.59082C11.289 0.59082 10.9725 0.695128 10.7615 1.00805L6.11927 7.89236H1.05505C0.422018 7.89236 0 8.30959 0 8.93544V9.24836L2.63761 18.949C2.84862 19.7834 3.69266 20.5136 4.6422 20.5136H18.3578C19.3073 20.5136 20.1514 19.8877 20.3624 18.949L23 9.24836V8.93544C23 8.30959 22.578 7.89236 21.945 7.89236H17.0917ZM8.44043 7.89217L11.6056 3.30263L14.7707 7.89217H8.44043ZM9.49536 14.1504C9.49536 15.2978 10.4449 16.2366 11.6055 16.2366C12.766 16.2366 13.7155 15.2978 13.7155 14.1504C13.7155 13.003 12.766 12.0643 11.6055 12.0643C10.4449 12.0643 9.49536 13.003 9.49536 14.1504Z" fill="white"/>
   77 :                                 </svg>
   78 :                             </div>
 
 
Traceback (most recent call last):
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
    response = get_response(request)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "D:\Projects py\django\mafia_rekvisit\mafia\shop\views.py", line 20, in index
    return render(request, 'shop/index.html', context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\shortcuts.py", line 24, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\backends\django.py", line 62, in render
    return self.template.render(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 175, in render
    return self._render(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 167, in _render
    return self.nodelist.render(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 1000, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 1000, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 958, in render_annotated
    return self.render(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\loader_tags.py", line 54, in render
    result = self.nodelist.render(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 1000, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 1000, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 958, in render_annotated
    return self.render(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\defaulttags.py", line 322, in render
    return nodelist.render(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 1000, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 1000, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 958, in render_annotated
    return self.render(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 1059, in render
    output = self.filter_expression.resolve(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 712, in resolve
    obj = self.var.resolve(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 842, in resolve
    value = self._resolve_lookup(context)
  File "D:\Projects py\django\mafia_rekvisit\venv\lib\site-packages\django\template\base.py", line 909, in _resolve_lookup
    current = current()
  File "D:\Projects py\django\mafia_rekvisit\mafia\cart\cart.py", line 57, in get_total_price
    return sum(item['quantity'] * Decimal(item['price']) for item in self.cart.values())
  File "D:\Projects py\django\mafia_rekvisit\mafia\cart\cart.py", line 57, in <genexpr>
    return sum(item['quantity'] * Decimal(item['price']) for item in self.cart.values())
 
Exception Type: InvalidOperation at /
Exception Value: [<class 'decimal.ConversionSyntax'>]
models.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from django.db import models
from django.urls import reverse
 
 
class Categories(models.Model):
    name = models.CharField(max_length=60, blank=False)
    slug = models.SlugField(max_length=100, unique=True)
 
    def get_absolute_url(self):
        return reverse('shop:catalog', kwargs={'cat_slug': self.slug})
 
    class Meta:
        ordering = ('-name', )
        verbose_name = 'Категория'
        verbose_name_plural = 'Категории'
 
    def __str__(self):
        return self.name
 
 
class Products(models.Model):
    cat = models.ForeignKey(Categories, on_delete=models.CASCADE, related_name='products')
    name = models.CharField(max_length=60, blank=False)
    photo = models.ImageField(upload_to='products/%Y/%m/%d', blank=True)
    price = models.DecimalField(decimal_places=2, max_digits=10)
    sale = models.DecimalField(decimal_places=2, max_digits=10)
    slug = models.SlugField(max_length=100, unique=True)
    available = models.BooleanField(default=True)
    upload = models.DateTimeField(auto_now_add=True)
    update = models.DateTimeField(auto_now=True)
    description = models.TextField()
 
    class Meta:
        verbose_name = 'Товар'
        verbose_name_plural = 'Товары'
        ordering = ('update', )
 
    def get_absolute_url(self):
        return reverse('shop:detail', kwargs={'products_slug': self.slug})
 
    def __str__(self):
        return self.name
 
    def new_price(self):
        return self.price - self.sale
cart.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
from decimal import Decimal
 
from mafia.settings import CART_SESSION_ID
from shop.models import Products
 
 
class Cart(object):
 
    def __init__(self, request):
 
        self.session = request.session
        cart = self.session.get(CART_SESSION_ID)
        if not cart:
            cart = self.session[CART_SESSION_ID] = {}
        self.cart = cart
 
    def __iter__(self):
        ids = self.cart.keys()
        products = Products.objects.filter(id__in=ids)
 
        cart = self.cart.copy()
 
        for product in products:
            cart[str(product.id)]['product'] = product
 
        for item in cart.values():
            item['price'] = Decimal(item['price'])
            item['total_price'] = item['price'] * item['quantity']
            yield item
 
    def add(self, product, quantity=1, update_quantity=False):
        product_id = str(product.id)
        if product_id not in self.cart:
            self.cart[product_id] = {'quantity': 0,
                                     'price': str(product.price)}
 
        if update_quantity:
            self.cart[product_id]['quantity'] = quantity
        else:
            self.cart[product_id]['quantity'] += quantity
 
        self.save()
 
    def __len__(self):
        return sum(item['quantity'] for item in self.cart.values())
 
    def save(self):
        self.session.modified = True
 
    def remove(self, product):
        product_id = str(product.id)
        if product_id in self.cart:
            del self.cart[product_id]
        self.save()
 
    def get_total_price(self):
        return sum(item['quantity'] * Decimal(item['price']) for item in self.cart.values())
 
    def clear(self):
        del self.session[CART_SESSION_ID]
        self.save()
cart/views.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from django.shortcuts import render, get_object_or_404, redirect
from django.views.decorators.http import require_POST
 
from .cart import Cart
from .forms import CartAdd
from shop.models import Products
 
 
@require_POST
def cart_add(request, cloth_id):
    cart = Cart(request)
    product = get_object_or_404(Products, id=cloth_id)
    form = CartAdd(request.POST)
    if form.is_valid():
        cd = form.cleaned_data
        cart.add(product=product,
                 quantity=cd['quantity'],
                 update_quantity=cd['update'])
    return redirect('cart:cart_detail')
 
 
def cart_remove(request, cloth_id):
    cart = Cart(request)
    product = get_object_or_404(Products, id=cloth_id)
    cart.remove(product)
    return redirect('cart:cart_detail')
 
 
def cart_detail(request):
    cart = Cart(request)
    form = CartAdd()
    return render(request, 'cart/basket.html', {'cart': cart, 'form': form})
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.03.2022, 16:00
Ответы с готовыми решениями:

Что выгодней: (decimal,decimal) или decimal[]
Что выгоднее для памяти и производительности: создание кортежей (decimal,decimal) или массивов decimal? Предполагается большое количество. ...

Ошибка Cannot convert from 'ref decimal' to 'ref decimal?
Здравствуйте подскажите пожалуйста почему в строке this.allTuriPoCeneTableAdapter.FillBy(this.turfirmaDataSet.AllTuriPoCene, ref Cena); ...

Не работает запрос с одинаковыми типами данных c# decimal, SQL Server Decimal(18,2)
Здравствуйте, не понимаю почему не проходит запрос на бд, с одинаковыми типами данныхDecimal(18,2) число 1000,00 проходит, а 1000,35...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.03.2022, 16:00
Помогаю со студенческими работами здесь

Непонятная ошибка: Exception class EClassNotFound with message 'Class TLabeledEdit not found'
Когда написал среду в Делфи для БД Access то при запуске выдает такую ошибку. project Project.exe raised exception class...

Ошибка The same field name is serialized multiple times in the class or its parent class
Добрый день, я не так давно перешел с Java на C#, если не сложно помогите разобраться в коде на C# в Unity. интерфейс public...

Ошибка: exception class EClassNotFound with message 'Class TADOTable not found'
Аааа...Дело было так. Хотела сохранить проект,нажала save as,и только потом поняла что я дебил.Билдер закрыла,программу...

Ошибка: C++ Builder 6 Project Project1.exe raised exception class EClassNotFound with message 'Class TImage not found'
Здравствуйте. Ошибка: C++ Builder 6 Project Project1.exe raised exception class EClassNotFound with message 'Class TImage not found'. ...

Ошибка E2333: Class member declared outside its class
Доброго времени суток,подскажите в чём дело? //--------------------------------------------------------------------------- #include...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru