Простая корзина на Django?

Здравствуйте. Делаю сайт по продаже картин и он на django. Модель такая:
class Authors(models.Model):
    fio = models.CharField(max_length=200, verbose_name=u'Ф.И.О')
    slug = models.SlugField(unique = True)
    background = models.ImageField(upload_to='background')
    biography = HTMLField(verbose_name=u'Биография')

    class Meta:
        verbose_name = u'Художник'
        verbose_name_plural = u'Художники'

    def __unicode__(self):
        return u'%s' % self.fio


class Images(models.Model):
    image = models.ImageField(upload_to='pictures', verbose_name=u'Изображение')
    slug = models.SlugField(unique = True)
    authors = models.ForeignKey(Authors, verbose_name=u'Автор')  
    title = models.CharField(max_length=200, verbose_name=u'Название')
    size = models.CharField(max_length=50, verbose_name=u'Размер')
    year = models.CharField(max_length=20, verbose_name=u'Год')
    price = models.CharField(max_length=50, verbose_name=u'Цена')
    sales = models.BooleanField(max_length=100, verbose_name=u'Продано')
    genre = models.CharField(max_length=200, verbose_name=u'Жанр')
    color = models.CharField(max_length=100, verbose_name=u'Цвет')

    class Meta:
        verbose_name = u'Картины'
        verbose_name_plural = u'Картины'

Возникла проблема с корзиной, как ее реализовать не очень понимаю. Хочу сделать ее простой, т.е. под картиной есть кнопка купить при нажатии на которую картина попадает в корзину, при переходе в корзину в ней висит картина(три поля: название,автор,цена) и кнопка оформить, нажимая на которую переходим на страницу заполнения полей(адрес, имя и т.д.) и кнопка отправить. После ее нажатия на почту приходит письмо с заказанным товаром и заполненными полями. Как на этом сайте oilyoil.com/ru/pictures. Может есть примеры реализации простой корзины?
  • Вопрос задан
  • 3776 просмотров
Решения вопроса 1
@KIN1991
Python, PHP developer
Все просто при нажатии на кнопку купить, вам следует отправлять в сессию корзины id-ик картины, когда переходите к оформлению заказа просто делаете запрос к базе с выводом необходимой вам инфы по id-ам которые у вас есть в сессии.
<a href="#" data-id="1">Название картины</a>
Вьюха корзины
def cart(request,id):
    if 'cart' not in request.session:
        request.session['cart'] = list()
    request.session['cart'].append(int(id))
    ....
    return ...

Ну и вьюха оформления
def checkout(request):
    cart = Images.objects.filter(pk__in=request.session['cart'])
    ....

Как то так
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы