آیا می خواهید یک سایت فروشگاهی ساده و کارآمد با استفاده از Django بسازید؟ این آموزش جامع، شما را گام به گام در این مسیر راهنمایی می کند. Django یک فریم ورک قدرتمند پایتون است که امکان توسعه سریع و ایمن وب سایت ها را فراهم می کند. در این آموزش، با مفاهیم پایه Django آشنا شده و یک سایت فروشگاهی ساده را از صفر تا صد ایجاد خواهیم کرد.
قبل از شروع، اطمینان حاصل کنید که پایتون و pip روی سیستم شما نصب شده اند. برای نصب Django، از دستور زیر در ترمینال استفاده کنید:
pip install django
پس از نصب Django، می توانید یک پروژه جدید ایجاد کنید:
django-admin startproject myshop
با اجرای این دستور، یک پوشه با نام myshop ایجاد می شود که شامل فایل های اولیه پروژه Django شماست.
مدل ها، ساختار داده های سایت شما را تعریف می کنند. برای مثال، برای سایت فروشگاهی، می توانیم مدل های Product و Category را ایجاد کنیم. در فایل models.py اپلیکیشن خود (مثلاً shop/models.py)، کد زیر را اضافه کنید:
from django.db import models
class Category(models.Model):
name = models.CharField(max_length=200)
slug = models.SlugField(max_length=200, unique=True)
def __str__(self):
return self.name
class Product(models.Model):
category = models.ForeignKey(Category, related_name='products', on_delete=models.CASCADE)
name = models.CharField(max_length=200)
slug = models.SlugField(max_length=200, unique=True)
description = models.TextField()
price = models.DecimalField(max_digits=10, decimal_places=2)
image = models.ImageField(upload_to='products/%Y/%m/%d', blank=True)
available = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
پس از تعریف مدل ها، باید آن ها را به پایگاه داده منتقل کنید. برای این کار، دستورات زیر را در ترمینال اجرا کنید:
python manage.py makemigrations
python manage.py migrate
نماها، منطق اصلی سایت شما را پیاده سازی می کنند. برای مثال، برای نمایش لیست محصولات و جزئیات یک محصول، می توانیم نماهای زیر را ایجاد کنیم:
from django.shortcuts import render, get_object_or_404
from .models import Category, Product
def product_list(request, category_slug=None):
category = None
categories = Category.objects.all()
products = Product.objects.filter(available=True)
if category_slug:
category = get_object_or_404(Category, slug=category_slug)
products = products.filter(category=category)
return render(request, 'shop/product_list.html', {'category': category, 'categories': categories, 'products': products})
def product_detail(request, id, slug):
product = get_object_or_404(Product, id=id, slug=slug, available=True)
return render(request, 'shop/product_detail.html', {'product': product})
قالب ها، ظاهر سایت شما را تعیین می کنند. برای مثال، می توانیم قالب های product_list.html و product_detail.html را ایجاد کنیم.
نمونه ای از product_list.html:
<h1>محصولات</h1>
<ul>
{% for product in products %}
<li><a href="{{ product.get_absolute_url }}">{{ product.name }}</a></li>
{% endfor %}
</ul>
برای اتصال نماها به URLها، باید فایل urls.py را پیکربندی کنید. در فایل urls.py اپلیکیشن خود، کد زیر را اضافه کنید:
from django.urls import path
from . import views
app_name = 'shop'
urlpatterns = [
path('', views.product_list, name='product_list'),
path('<slug:category_slug>/', views.product_list, name='product_list_by_category'),
path('<int:id>/<slug:slug>/', views.product_detail, name='product_detail'),
]
Django یک فریم ورک وب پایتون سطح بالا است که توسعه سریع و طراحی تمیز و عمل گرایانه را تشویق می کند. از آن برای ساخت وب سایت ها و برنامه های وب پیچیده استفاده می شود.
برای نصب Django، می توانید از pip استفاده کنید: pip install django
برای ایجاد یک پروژه جدید، از دستور django-admin startproject projectname استفاده کنید.
برای انتقال مدل ها به پایگاه داده، از دستورات زیر استفاده کنید:
python manage.py makemigrations
python manage.py migrate
آیا به دنبال بهینه سازی سئوی سایت فروشگاهی خود هستید؟ با ما تماس بگیرید: 09190994063 - 09376846692