我正在使用 Django 開(kāi)發(fā)電子商務(wù)網(wǎng)站。目前正在開(kāi)發(fā)我第一次在 django 中使用 session 的購(gòu)物車(chē)應(yīng)用程序。我在設(shè)置和檢索打印時(shí)為空的會(huì)話(huà)數(shù)據(jù)時(shí)遇到問(wèn)題。PS:會(huì)話(huà)中的數(shù)據(jù)將用于為用戶(hù)檢索購(gòu)物車(chē)或更新購(gòu)物車(chē)(如果購(gòu)物車(chē)是作為訪(fǎng)問(wèn)者創(chuàng)建的)。無(wú)法檢索會(huì)話(huà)數(shù)據(jù)導(dǎo)致每次刷新瀏覽器時(shí)都會(huì)創(chuàng)建一個(gè)新會(huì)話(huà)。設(shè)置.PYINSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # user apps 'carts', 'products', 'search', 'tags', # 3rd class app 'bootstrap4',]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',]購(gòu)物車(chē)APP模型.PYfrom django.conf import settingsfrom django.db import modelsfrom products.models import ProductUser = settings.AUTH_USER_MODELclass CartManager(models.Manager): def new(self, user=None): user_obj = None if user is not None: if user.is_authenticated: user_obj = user return self.model.objects.create(user=user_obj)class Cart(models.Model): user = models.ForeignKey(User, null=True, blank=True, on_delete=models.DO_NOTHING) products = models.ManyToManyField(Product, blank=True) total = models.DecimalField(default=0.00, max_digits=100, decimal_places=2) timestamp = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) objects = CartManager() def __str__(self): return str(self.id)
1 回答

臨摹微笑
TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
我認(rèn)為您的問(wèn)題可能是這一行中的錯(cuò)字:
request.session['card_id'] = cart_obj.id
如果您仔細(xì)觀察,您正在設(shè)置 acard_id
但稍后嘗試獲取cart_id
.
添加回答
舉報(bào)
0/150
提交
取消