Modern Django-based art e-commerce platform branded as Canv.AS. It provides catalog browsing, user authentication with a custom email-first user model, reviews, wishlists, profiles, dashboards, and a styled admin .
- Product catalog with categories, tags, images, rich descriptions, and specifications
- Vendor profiles and vendor product listings
- Cart, order creation, and checkout via Razorpay
- Product reviews with rating distribution
- User dashboards, addresses, profile editing, wishlist
- Email contact form with HTML templates
- CKEditor upload support for rich content
- Django 5 (Python 3.12 recommended)
- SQLite (default) with Django ORM
- Third-party: django-taggit, django-ckeditor, django-jazzmin, razorpay, whitenoise
- Frontend: Django templates under
templete/and static assets understatic/
- ecomprj: Django project settings and URLs
- core: e-commerce domain (catalog, orders, reviews, dashboard, contact)
- userauths: custom user model and auth views
- templete: HTML templates grouped by app
- static: CSS/JS/images and assets
- media: uploaded images (products, categories, user content)
- Ensure Python 3.12 is installed.
- Create a virtual environment and activate it.
- Install dependencies:
pip install -r requirements.txt
- Apply migrations and create a superuser:
python manage.py migratepython manage.py createsuperuser
- Run the development server:
python manage.py runserver
- Visit:
- Site: http://127.0.0.1:8000/
- Admin: http://127.0.0.1:8000/admin/
- Static files:
STATIC_URL = 'static/'STATIC_ROOTisstaticfilesSTATICFILES_DIRSincludesstatic/- WhiteNoise enabled for production
- Media files:
MEDIA_URL = '/media/'MEDIA_ROOTismedia/
- Templates:
- Templates directory configured to
templete/
- Templates directory configured to
- CKEditor:
- Upload path configured as
uploads/
- Upload path configured as
- Custom user:
AUTH_USER_MODEL = 'userauths.User'(email is the login field)
- External integrations:
- SMTP credentials for email
- For production, move secrets into environment variables or a secure store. Avoid committing credentials to source control.
- Recommended variables:
SECRET_KEYDEBUGALLOWED_HOSTSEMAIL_HOST,EMAIL_HOST_USER,EMAIL_HOST_PASSWORD,EMAIL_PORT
- Core
/Home (requires sign-in)/productsProduct list/product/<pid>Product detail/categoryCategory list/category/<cid>Products by category/vendorVendor list/vendor/<vid>Vendor detail/product/tag/<slug>Tagged products/add-to-cartAdd to cart (AJAX)/cartCart view and Razorpay order creation/update-cartUpdate quantities (AJAX)/checkout/success/Checkout success and order creation/dashboard/Customer dashboard/dashboard-edit/Profile edit/dashboard/order/<id>Order detail/contact/Contact form
- Auth
/user/sign-up/Register/user/sign-in/Login/user/sign-out/Logout
- Admin
/admin/Jazzmin-styled admin