我正在尝试按照Udemy上的教程建立一个电子商务。我正在讨论如何构建购物车功能(如何添加项目,请参阅总成本和数量)的章节。
但是,我在向购物车添加产品时遇到了问题。
属性错误在 /cart/add/4/ “会话存储” 对象没有属性 “会话” 请求方法: GET
请求 URL: http://127.0.0.1:8000/cart/add/4/
Django 版本: 2.1.3
异常类型: 属性错误
异常值:
“会话存储” 对象没有属性 “会话”
异常位置: /家/ogonzales/escritorio/web_proyects/完美缓冲/购物车/视图.py_card_id,第 10 行
Python 可执行文件: /home/ogonzales/Escritorio/projects_envs/perfectcushion_env/bin/蟒蛇
版本: 3.6.7
蟒蛇路径:
[/家/奥贡扎雷斯/埃斯克里托里奥/web_proyects/完美缓冲“, ”/家/奥贡扎莱斯/埃斯克里托里奥/皮查姆/助手/皮查姆“, '/家/奥贡扎雷斯/埃斯克里托里奥/web_proyects/完美缓冲', '/usr/lib/python36.zip, ”/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/ogonzales/escrizaros/escritorio/projects_envs/perfectcushion_env/lib/python3.6/site-packages, “/家/ogonzales/Escritorio/projects_envs/perfectcushion_env/lib/python3.6/site-packages/setuptools-39.1.0-py3.6.egg', '/家/奥贡扎莱斯/埃斯克里托里奥/projects_envs/perfectcushion_env/lib/蟒蛇3.6/site-packages/pip-10.0.1-py3.6.egg'] 服务器时间: 星期日, 2 十二月 03:17:34 0000
views.py:
from django.shortcuts import render, redirect
from shop.models import Product
from .models import Cart, CartItem
from django.core.exceptions import ObjectDoesNotExist
# Create your views here.
def _card_id(request):
cart = request.session.session.key
if not cart:
cart = request.session.create()
return cart
def add_cart(request, product_id):
product = Product.objects.get(id = product_id)
try:
cart = Cart.objects.get(cart_id = _card_id(request))
except Cart.DoesNotExist:
cart = Cart.objects.create(
cart_id = _card_id(request)
)
cart.save()
try:
cart_item = CartItem.objects.get(product = product, cart = cart)
cart_item.quantity += 1
cart_item.save()
except CartItem.DoesNotExist:
cart_item = CartItem.objects.create(
product = product,
quantity= 1,
cart = cart,
)
cart_item.save()
return redirect('cart:cart_detail')
def cart_detail(request, total = 0, counter = 0, cart_items = None):
try:
cart = Cart.objects.get(cart_id = _card_id(request))
cart_items = CartItem.objects.filter(cart = cart, active=True)
for cart_item in cart_items:
total += (cart_item.product.price * cart_item.quantity)
counter += cart_item.quantity
except ObjectDoesNotExist:
pass
return render(request, 'cart.html', dict(cart_items = cart_items, total = total, counter = counter))
models.py
from django.db import models
from shop.models import Product
# Create your models here.
class Cart(models.Model):
cart_id = models.CharField(max_length=250, blank=True)
date_added = models.DateField(auto_now_add=True)
class Meta:
db_table = 'Cart'
ordering = ['date_added']
def __str__(self):
return self.cart_id
class CartItem(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
cart = models.ForeignKey(Cart, on_delete=models.CASCADE)
quantity = models.IntegerField()
active = models.BooleanField(default=True)
class Meta:
db_table = 'CartItem'
def sub_total(self):
return self.product.price * self.quantity
def __str__(self):
return self.product
追溯:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/cart/add/4/
Django Version: 2.1.3
Python Version: 3.6.7
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'shop',
'cart']
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']
Traceback:
File "/home/ogonzales/Escritorio/projects_envs/perfectcushion_env/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/home/ogonzales/Escritorio/projects_envs/perfectcushion_env/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
126. response = self.process_exception_by_middleware(e, request)
File "/home/ogonzales/Escritorio/projects_envs/perfectcushion_env/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
124. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/ogonzales/Escritorio/web_proyects/perfectcushion/cart/views.py" in add_cart
19. cart = Cart.objects.get(cart_id = _card_id(request))
File "/home/ogonzales/Escritorio/web_proyects/perfectcushion/cart/views.py" in _card_id
10. cart = request.session.session.key
Exception Type: AttributeError at /cart/add/4/
Exception Value: 'SessionStore' object has no attribute 'session'
而不是购物车 = 请求会话会话.key
使用购物车 = request.session.session_key
我是Django的新手,我在如何配置此错误方面遇到了麻烦,这就是为什么我决定发布一些代码问题的原因,我希望你们能帮助我解决这个问题。我错过了代码还是做错了?请忍受我。谢谢。 错误 追踪: 追踪: 内部34.response=get_response(request)中的文件“/home/lib/python3.6/site-packages/django/core/handlers/excepti
问题内容: 错误::’dict’对象没有属性’_meta’ 问题答案: 序列化器将等待普通的查询集,而不是(由返回)。如果只想查询某些字段,请使用
情况 我正在修改这个YouTube系列中的GitHub项目,这是一个演示原始应用程序如何运行的演示。 密码 model.py url.py views.py forms.py navbar.html account_admin_settings.html 错误 尝试过的解决方案 我的错误不在登录处,我不确定它在哪里-属性错误:用户对象没有属性is_admin 我以前做过迁移,做过迁移-Django
我正在与Django CBV合作,我第一次尝试使用表单集。我想同时填写两个表单,并将外键作为两者之间的公共元素。 我有两种型号: 我在我的表单python文件中定义了表单集: 最重要的是,我的视图是在cruds.py文件中定义的,如下所示: 该模板显示良好,具有通用的表单集,但当我想提交这个组合的表单时,我得到了这个问题: 异常值:“NoneType”对象没有属性“id” 这是回溯: 追踪: 文件
这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。
我最近将django升级到了3.2.5版本,之后管理模板没有正确加载,尤其是在模型页面中,请查看屏幕截图, 我决定参选, 但我收到以下错误 回溯(最近一次调用):File"/var/www/run_from_argv",第21行,main()File"/var/www/cmd_options",第17行,mainexecute_from_command_line(_options)File"/va