ساخت فروشگاه آنلاین ساده با پایتون

ساخت فروشگاه آنلاین ساده با پایتون

در دنیای امروز، فروشگاه‌های آنلاین به بخش جدایی‌ناپذیری از تجارت تبدیل شده‌اند. پایتون، با سادگی و قدرت خود، می‌تواند ابزار مناسبی برای ساخت یک فروشگاه آنلاین ساده و کارآمد باشد. این مقاله به شما نشان می‌دهد که چگونه با استفاده از پایتون و فریم‌ورک‌های مرتبط، یک فروشگاه آنلاین پایه راه‌اندازی کنید. این آموزش در دسته ‘توسعه وب با پایتون’ قرار می‌گیرد و برای افراد با دانش مقدماتی پایتون مناسب است.

پیش‌نیازها

قبل از شروع، اطمینان حاصل کنید که موارد زیر را در اختیار دارید:

  • پایتون (نسخه 3.6 یا بالاتر)
  • یک ویرایشگر کد (مانند VS Code، PyCharm یا Sublime Text)
  • آشنایی با مفاهیم پایه پایتون (متغیرها، حلقه‌ها، توابع، کلاس‌ها)
  • آشنایی مقدماتی با HTML و CSS

انتخاب فریم‌ورک وب

برای ساخت یک فروشگاه آنلاین با پایتون، نیاز به یک فریم‌ورک وب دارید. فریم‌ورک‌های مختلفی در دسترس هستند، اما دو گزینه محبوب عبارتند از:

  • Flask: یک فریم‌ورک سبک و انعطاف‌پذیر که برای پروژه‌های کوچک و متوسط مناسب است.
  • Django: یک فریم‌ورک قدرتمند و کامل که برای پروژه‌های بزرگ و پیچیده مناسب است.

در این آموزش، از Flask به دلیل سادگی و سهولت استفاده، استفاده خواهیم کرد.

نصب Flask

برای نصب Flask، از pip (مدیریت بسته پایتون) استفاده کنید:

pip install Flask

ساختار پروژه

یک ساختار پروژه مناسب به سازماندهی کد شما کمک می‌کند. ساختار پیشنهادی برای پروژه فروشگاه آنلاین ما به شرح زیر است:

  • app.py: فایل اصلی برنامه Flask
  • templates: پوشه‌ای برای ذخیره فایل‌های HTML
  • static: پوشه‌ای برای ذخیره فایل‌های CSS، JavaScript و تصاویر
  • products.db: فایل پایگاه داده SQLite برای ذخیره اطلاعات محصولات

ایجاد پایگاه داده

برای ذخیره اطلاعات محصولات، از یک پایگاه داده ساده SQLite استفاده می‌کنیم. برای ایجاد پایگاه داده و جدول محصولات، کد زیر را در یک فایل پایتون جداگانه (مثلاً db_setup.py) قرار دهید:

import sqlite3

conn = sqlite3.connect('products.db')
cursor = conn.cursor()

cursor.execute('''
    CREATE TABLE IF NOT EXISTS products (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        price REAL NOT NULL,
        description TEXT
    )
''')

conn.commit()
conn.close()

این کد یک جدول به نام products با ستون‌های id، name، price و description ایجاد می‌کند.

ایجاد برنامه Flask (app.py)

حالا وقت آن است که برنامه Flask را ایجاد کنیم. کد زیر را در فایل app.py قرار دهید:

from flask import Flask, render_template, request, redirect, url_for
import sqlite3

app = Flask(__name__)

# تابع برای دریافت لیست محصولات از پایگاه داده
def get_products():
    conn = sqlite3.connect('products.db')
    cursor = conn.cursor()
    cursor.execute('SELECT * FROM products')
    products = cursor.fetchall()
    conn.close()
    return products

# مسیر اصلی (صفحه اصلی فروشگاه)
@app.route('/')
def index():
    products = get_products()
    return render_template('index.html', products=products)

# مسیر برای افزودن محصول جدید
@app.route('/add', methods=['GET', 'POST'])
def add_product():
    if request.method == 'POST':
        name = request.form['name']
        price = float(request.form['price'])
        description = request.form['description']

        conn = sqlite3.connect('products.db')
        cursor = conn.cursor()
        cursor.execute('INSERT INTO products (name, price, description) VALUES (?, ?, ?)', (name, price, description))
        conn.commit()
        conn.close()

        return redirect(url_for('index'))

    return render_template('add.html')

if __name__ == '__main__':
    app.run(debug=True)

این کد دو مسیر (route) تعریف می‌کند:

  • /: صفحه اصلی فروشگاه که لیست محصولات را نمایش می‌دهد.
  • /add: صفحه افزودن محصول جدید که یک فرم برای وارد کردن اطلاعات محصول را نمایش می‌دهد.

ایجاد فایل‌های HTML (templates)

حالا باید فایل‌های HTML را برای نمایش صفحات فروشگاه ایجاد کنیم. دو فایل index.html و add.html را در پوشه templates ایجاد کنید.

index.html

<!DOCTYPE html>
<html lang="fa">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>فروشگاه آنلاین</title>
</head>
<body>
    <h1>لیست محصولات</h1>
    <a href="{{ url_for('add_product') }}">افزودن محصول جدید</a>
    <ul>
        {% for product in products %}
            <li>
                <h2>{{ product[1] }}</h2>
                <p>قیمت: {{ product[2] }}</p>
                <p>توضیحات: {{ product[3] }}</p>
            </li>
        {% endfor %}
    </ul>
</body>
</html>

add.html

<!DOCTYPE html>
<html lang="fa">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>افزودن محصول جدید</title>
</head>
<body>
    <h1>افزودن محصول جدید</h1>
    <form method="post">
        <label for="name">نام محصول:</label>
        <input type="text" id="name" name="name" required><br>

        <label for="price">قیمت:</label>
        <input type="number" id="price" name="price" step="0.01" required><br>

        <label for="description">توضیحات:</label>
        <textarea id="description" name="description"></textarea><br>

        <input type="submit" value="افزودن">
    </form>
    <a href="{{ url_for('index') }}">بازگشت به لیست محصولات</a>
</body>
</html>

اجرای برنامه

برای اجرای برنامه، فایل app.py را با استفاده از پایتون اجرا کنید:

python app.py

سپس، در مرورگر خود به آدرس http://127.0.0.1:5000/ بروید تا صفحه اصلی فروشگاه را مشاهده کنید.

گام‌های بعدی

این یک فروشگاه آنلاین بسیار ساده است. برای بهبود آن، می‌توانید مراحل زیر را انجام دهید:

  • اضافه کردن قابلیت ویرایش و حذف محصولات
  • پیاده‌سازی سبد خرید
  • اضافه کردن سیستم پرداخت
  • استفاده از CSS برای طراحی بهتر رابط کاربری
  • استفاده از JavaScript برای افزودن تعامل بیشتر به رابط کاربری
  • استفاده از یک پایگاه داده قوی‌تر مانند PostgreSQL یا MySQL

با یادگیری و تمرین بیشتر، می‌توانید یک فروشگاه آنلاین کامل و حرفه‌ای با پایتون بسازید.

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *