Ce tutoriel est le deuxième article d'une série sur la création d'applications ** e-commerce ** à l'aide du framework Web ** Django **. Si vous avez manqué le premier tutoriel, vous pouvez le trouver en ligne ici. [Comment développer des applications Web sur Alibaba Cloud en utilisant le framework Django](https://www.alibabacloud.com/blog/how-to-develop-web-applications-on-alibaba-cloud-with-django -framework_594265? spm = a2c65.11461447.0.0.25d054951cPDkx)
Avec l'avènement de nouvelles données et de nouveaux produits technologiques, chaque entreprise doit désormais créer sa propre plate-forme de commerce électronique et l'intégrer directement dans le site Web de l'entreprise. Le tutoriel présenté ici vise à vous montrer comment exploiter la puissance du framework Django pour construire un système de panier.
** 2.1. Détails du projet ** Le projet que nous construisons est une application de commerce électronique qui permet aux gens d'acheter et de vendre des biens. Pour plus de flexibilité et de maintenabilité, le projet est divisé en trois applications indépendantes: l'application principale (développée dans le tutoriel précédent), l'application Cart (développée dans ce tutoriel), l'application de paiement (développée dans le tutoriel suivant) ..
** 2.2. Application de chariot ** L'application panier est utilisée pour gérer le processus d'achat et de vente, et pour gérer le panier lui-même et les articles du panier dans le panier (ajouts, mises à jour, suppressions d'articles du panier).
Les éléments spécifiques gérés ici sont:
** 2.3. Paramètres de l'environnement de développement ** Nous commençons par récupérer le code source d'un projet déjà en ligne.
--Clonez le projet à l'aide de GIT.
$ cd ~/projects # Switch to your project folder on Home directory
$ git clone https://github.com/binel01/buyandsell.git
Remarque: Après avoir émis cette commande, un dossier nommé buyandsell sera créé dans le répertoire du projet pour contenir tout le code source de votre projet.
$ pip install virtualenv
--Créer venv
$ virtualenv venv
--Activer venv
$ source venv\bin\activate
--Installation de dépendance
(venv)$ pip install -r requirements.txt
--Initialisation de la base de données
(venv)$ python manage.py migrate
--Créer un super utilisateur
(venv)$ python manage.py createsuperuser # then follow the instructions
(venv)$ python manage.py runserver
Nous allons procéder avec ce flux.
Tout d'abord, vous devez créer une nouvelle application appelée ** panier ** et l'ajouter au fichier de paramètres ** settings.py **.
(venv)$ django-admin startapp cart
Cette commande crée un nouveau dossier nommé panier contenant le code source de l'application de panier.
Ajoutez l'application panier au fichier settings.py.
...
INSTALLED_APPS = [
...
cart,
...
]
...
Comme mentionné ci-dessus, cette application prend en charge les modèles suivants.
from django.db import models
from django.contrib.auth.models import User
from datetime import datetime
from core.models import Product
class Cart(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
created_at = models.DateTimeField(default=datetime.now)
class CartItem(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
quantity = models.IntegerField(default=1)
price_ht = models.FloatField(blank=True)
cart = models.ForeignKey('Cart', on_delete=models.CASCADE)
TAX_AMOUNT = 19.25
def price_ttc(self):
return self.price_ht * (1 + TAX_AMOUNT/100.0)
def __str__(self):
return self.client + " - " + self.product
** 3.3.1. Vue ** Afin de gérer les données présentées à l'utilisateur, nous devons définir une vue qui fait office de contrôle.
Vous trouverez ci-dessous les fichiers ** views.py ** qui résultent des modèles de base de données ** Cart ** et ** CartItem **.
from django.shortcuts import render
from django.views.generic import DetailView, ListView, CreateView, UpdateView, DeleteView
from .models import Cart, CartItem
##-------------- Cart Views --------------------------------------
class DetailCart(DetailView):
model = Cart
template_name='cart/detail_cart.html'
class ListCart(ListView):
model = Cart
context_object_name = 'carts'
template_name='cart/list_carts.html'
class CreateCart(CreateView):
model = Cart
template_name = 'cart/create_cart.html'
class Updatecart(UpdateView):
model = Cart
template_name = 'cart/update_cart.html'
class DeleteCart(DeleteView):
model = Cart
template_name = 'cart/delete_cart.html'
##-------------- CartItem Views --------------------------------------
class DetailCartItem(DetailView):
model = CartItem
template_name='cartitem/detail_cartitem.html'
class ListCartItem(ListView):
model = CartItem
context_object_name = 'cartitems'
template_name='cartitem/list_cartitems.html'
class CreateItemCart(CreateView):
model = CartItem
template_name = 'cartitem/create_cartitem.html'
class UpdateCartItem(UpdateView):
model = CartItem
template_name = 'cartitem/update_cartitem.html'
class DeleteCartItem(DeleteView):
model = Cart
template_name = 'cartitem/delete_cartitem.html'
Voici la racine de l'URL définie dans buyandsell / cart / urls.py.
from django.urls import path, include
from . import views
# Cart Urls
urlpatterns = [
path('cart/', views.ListCart, name='list-carts'),
path('cart/<int:pk>/', views.DetailCart.as_view(), name='detail-cart'),
path('cart/create/', views.CreateCart.as_view(), name='create-cart'),
path('cart/<int:pk>/update/', views.Updatecart.as_view(), name='update-cart'),
path('cart/<int:pk>/delete/', views.DeleteCart.as_view(), name='delete-cart'),
]
# CartItem Urls
urlpatterns += [
path('cartitem/', views.ListCartItem.as_view(), name='list-cartitem'),
path('cartitem/<int:pk>/', views.DetailCartItem.as_view(), name='detail-cartitem'),
path('cartitem/create/', views.CreateCartItem.as_view(), name='create-cartitem'),
path('cartitem/<int:pk>/update/', views.UpdateCartItem.as_view(), name='update-cartitem'),
path('cartitem/<int:pk>/delete/', views.DeleteCartItem.as_view(), name='delete-cartitem'),
]
En général, lorsque vous créez une application Web pour répondre aux besoins professionnels de votre client, vous créez également une application d'administrateur qui gère les données, les autorisations, les autorisations et les rôles stockés dans la base de données. Django simplifie la vie des développeurs web car cela se fait déjà par défaut.
Pour configurer l'interface d'administration, vous devez modifier le fichier ** admin.py ** pour le configurer afin d'utiliser le modèle.
Le fichier ** admin.py ** résultant est:
from django.contrib import admin
# Register your models here.
class CartAdmin(admin.ModelAdmin):
pass
class CartItemAdmin(admin.ModelAdmin):
pass
(venv)$ cd buyansell
(venv)$ python manage.py runserver
Déplacez ensuite votre navigateur vers cet emplacement.
http://localhost:8000
À la fin de ce tutoriel, vous devriez savoir comment commencer à créer votre application avec le framework Django. Plus précisément, vous avez appris ce que sont les modèles, vues et modèles de Django.
Le code source de l'application utilisé dans ce tutoriel est https://github.com/binel01/buyandsell/tree/master/core sur la page GitHub. Il est situé au noyau? Spm = a2c65.11461447.0.0.25d054951cPDkx).
La partie suivante du didacticiel de cette série vous montrera comment développer une application de panier pour gérer les ventes de produits.
Recommended Posts