Dieses Tutorial ist der zweite Artikel in einer Reihe zum Erstellen von ** E-Commerce ** -Apps mithilfe des ** Django ** -Webframeworks. Wenn Sie das erste Tutorial verpasst haben, finden Sie es hier online. [Entwickeln von Webanwendungen in der Alibaba Cloud mithilfe des Django-Frameworks](https://www.alibabacloud.com/blog/how-to-develop-web-applications-on-alibaba-cloud-with-django -framework_594265? spm = a2c65.11461447.0.0.25d054951cPDkx)
Mit dem Aufkommen neuer Daten und neuer Technologieprodukte muss jedes Unternehmen nun seine eigene E-Commerce-Plattform aufbauen und diese direkt in die Website des Unternehmens integrieren. Das hier vorgestellte Tutorial soll Ihnen zeigen, wie Sie die Leistung des Django-Frameworks nutzen können, um ein Cart-System zu erstellen.
** 2.1. Projektdetails ** Das Projekt, das wir bauen, ist eine E-Commerce-Anwendung, mit der Menschen Waren kaufen und verkaufen können. Aus Gründen der Flexibilität und Wartbarkeit ist das Projekt in drei unabhängige Apps unterteilt: Kern-App (entwickelt im vorherigen Tutorial), Cart-App (entwickelt in diesem Tutorial), Zahlungs-App (entwickelt im nächsten Tutorial) ..
** 2.2. Wagenanwendung ** Die Warenkorbanwendung wird zum Verwalten des Kauf- und Verkaufsprozesses sowie zum Verwalten des Warenkorbs selbst und der Warenkorbartikel im Warenkorb (Hinzufügen, Aktualisieren, Löschen von Warenkorbartikeln) verwendet.
Die spezifischen Elemente, die hier verwaltet werden, sind:
** 2.3. Einstellungen der Entwicklungsumgebung ** Wir beginnen damit, den Quellcode für ein Projekt zu erhalten, das bereits online ist.
$ cd ~/projects # Switch to your project folder on Home directory
$ git clone https://github.com/binel01/buyandsell.git
Hinweis: Nach der Ausgabe dieses Befehls wird im Projektverzeichnis ein Ordner mit dem Namen buyandsell erstellt, der den gesamten Quellcode für Ihr Projekt enthält.
$ pip install virtualenv
--Erstelle venv
$ virtualenv venv
$ source venv\bin\activate
(venv)$ pip install -r requirements.txt
(venv)$ python manage.py migrate
--Erstelle einen Superuser
(venv)$ python manage.py createsuperuser # then follow the instructions
--Test wenn alles funktioniert.
(venv)$ python manage.py runserver
Wir werden mit diesem Fluss fortfahren.
--App-Initialisierung
Zunächst müssen Sie eine neue Anwendung mit dem Namen ** cart ** erstellen und zur Einstellungsdatei ** settings.py ** hinzufügen.
(venv)$ django-admin startapp cart
Dieser Befehl erstellt einen neuen Ordner mit dem Namen cart, der den Quellcode für die Cart-Anwendung enthält.
Fügen Sie die Warenkorb-App zur Datei settings.py hinzu.
...
INSTALLED_APPS = [
...
cart,
...
]
...
Wie oben erwähnt, unterstützt diese App die folgenden Modelle.
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. Ansicht ** Um die dem Benutzer präsentierten Daten zu verwalten, müssen wir eine Ansicht definieren, die als unsere Kontrolle fungiert.
Unten finden Sie die ** views.py ** -Dateien, die sich aus den Datenbankmodellen ** Cart ** und ** CartItem ** ergeben.
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'
Hier ist der URL-Stamm, der in buyandsell / cart / urls.py definiert ist.
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'),
]
Wenn Sie eine Webanwendung erstellen, um die Geschäftsanforderungen Ihres Kunden zu erfüllen, erstellen Sie im Allgemeinen auch eine Administratoranwendung, die die in der Datenbank gespeicherten Daten, Berechtigungen, Berechtigungen und Rollen verwaltet. Django vereinfacht das Leben von Webentwicklern, da dies bereits standardmäßig erfolgt.
Um die Administrationsoberfläche zu konfigurieren, müssen Sie die Datei ** admin.py ** ändern, um sie für die Verwendung des Modells zu konfigurieren.
Die resultierende ** admin.py ** -Datei lautet:
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
Bewegen Sie dann Ihren Browser an diesen Ort.
http://localhost:8000
Am Ende dieses Tutorials sollten Sie wissen, wie Sie mit dem Erstellen Ihrer Anwendung mit dem Django-Framework beginnen. Genauer gesagt haben Sie die Modelle, Ansichten und Vorlagen von Django kennengelernt.
Der Quellcode für die in diesem Tutorial verwendete Anwendung lautet https://github.com/binel01/buyandsell/tree/master/core auf der GitHub-Seite. Es befindet sich im Kern? Spm = a2c65.11461447.0.0.25d054951cPDkx).
Der nächste Teil des Tutorials in dieser Reihe zeigt Ihnen, wie Sie eine Warenkorbanwendung zum Verwalten von Produktverkäufen entwickeln.
Recommended Posts