После установки django-qshop должен заработать сразу после создания таблиц. Но это будет базовая конфигурация.
Темплейты, которые идут в пакете, ужасны и рассчитаны на то, что они будут переделаны. Список темплейтов
Скорее всего вам надо будет дополнить модель продукта какими-то полями, добавить возможность пользователю указать имя своего домашнего любимца при заказе, а так же сделать, чтобы при выборе вариации продукта к ней была присоеденена картинка. И это можно сделать с помощью расширяемые классы!
После этого, если вы хотите использовать фильтры в категориях и таблицы свойств продукта, то для каждого типа продукта вам надо будет создать “Parameters Set”, в котором описать все поля этого типа продукта и указать создавать ли по ним фильтр в категории.
При добавлении продукта нужно будет выбрать тип этого продукта, и после сохранения появится список свойств, который надо будет заполнить.
Так же каждый продукт может иметь несколько вариаций, например одна и та же майка может быть разных размеров, и каждый размер будет отличаться по цене.
У каждого продукта есть одно главное изображение, которое показывается в списке продуктов, а так же есть дополнительные, которые показываются только на странице самого продукта.
И в конце концов, надо привязать продукт к нужным категориям.
Так же вам скорее всего стоит настроить заказ товара
categorypage.html - список категорий продуктов.
productpage.html - страница продукта.
productspage.html - категория продуктов.
shoppage.html - необязательный шаблон, который используют все остальные шаблоны.
В случае, если вам нужно добавить к продукту дополнительное поле, то можно воспользоваться абстрактным классом:
qshop_custom/models.py
from django.db import models
from qshop.models import ProductAbstract
class ProductCustom(ProductAbstract):
my_field = models.BooleanField()
class Meta:
abstract = True
settings.py
QSHOP_PRODUCT_CLASS = 'qshop_custom.models.ProductCustom'
Принцип работы:
и
Вы можете создать класс, который добавит нужные поля в заказ:
qshop_custom/models.py
from django.db import models
from qshop.cart.models import OrderAbstract
class OrderCustom(OrderAbstract):
my_field = models.BooleanField()
class Meta:
abstract = True
settings.py
CART_ORDER_CLASS = 'qshop_custom.cart.models.OrderCustom'
Так же вы можете захотеть изменить процесс покупки (чаще всего для получения оплаты). Добавте к OrderCustom:
def get_redirect(self):
return reverse(<my view>)
И тогда после валидации и сохранения заказа клиент будет перенаправлен на вашу страницу, на которой вы можете сделать с ним что захотите.
Например так:
Естественно не стоит забывать о логгировании всех оплат и т.д.
Скорее всего вам захочется изменить форму заказа в админке. Это можно сделать с помощью unregister.
from django.contrib import admin
from qshop.cart.models import Order
from qshop.cart.admin import OrderAdmin as OrderAdminDefault
class OrderAdmin(OrderAdminDefault):
ordering = ('payed',)
admin.site.unregister(Order)
admin.site.register(Order, OrderAdmin)