1. 程式人生 > 其它 >django-happy-shop一個可以快速整合到任何django專案的商城模組

django-happy-shop一個可以快速整合到任何django專案的商城模組

介紹

HappyShop 是一個 Django 開發的第三方包,可以快速整合到任何django專案,以便快速獲得一個簡單的商城功能。

本專案採用django + DRF + vue開發,具備前後端分離基因,擁有完整的多規格商品邏輯,整合支付寶支付,只需要簡單配置即可快速收款!

當然,其他功能還在迭代…

演示站

快速開始

pip命令快速安裝

安裝方法與python其他包的方法一致,一條命令即可快速安裝!

pip install django-happy-shop

使用說明

  1. 將 "happy_shop" 新增到您的 INSTALLED_APPS 設定中,以及專案需要的其他幾個依賴,如下所示:
INSTALLED_APPS = [
    ...
    'happy_shop',      # happy_shop主程式
    'rest_framework',  # DRF
	
    'corsheaders',     # 處理跨域的包
    'crispy_forms',    # 可瀏覽API的form包,便於除錯
]

其中引入happy_shop 與 rest_framework 兩個模組是必須的,因為改程式依賴於他們兩個,下邊兩個模組是為了方便除錯而引入的,一個是解決跨域問題而引入,這個視自己的使用情況決定,當前程式可以不引入,另外一個是為了配合django-filter模組使用,如果不開發除錯可不引入!

  1. 在專案 urls.py 中包含 happy_shop 的 URLconf,如下所示
urlpatterns = [
    ...
    # 這裡url開頭的happy暫時請不要自定義,可能會影響某些介面的運作
    path('happy/', include('happy_shop.urls')),  
]

如果需要檢視可瀏覽的API文件及頁面還需要加入以下兩個url,這不是必須的,根據自己使用情況而定!

from rest_framework.documentation import include_docs_urls

urlpatterns = [
    ...
    # 這裡url開頭的happy暫時請不要自定義,可能會影響某些介面的運作
    path('happy/', include('happy_shop.urls')),  
	
    # 需要檢視drf的介面文件請配置
    path('docs/', include_docs_urls(title='HappyShop API')), 
    # 需要DRF的可瀏覽API能力請配置 
    path('api-auth/', include('rest_framework.urls')),    
]
  1. 執行django的migrate命令建立模型資料
python manage.py migrate
  1. 執行django的runserver命令,啟動開發伺服器
python manage.py runserver
  1. 訪問http://127.0.0.1:8000/happy/ 即可檢視商城頁面!

  2. 當前商城系統後臺依賴django預設的admin,請訪問http://127.0.0.1:8000/admin/ 進入後臺進行資料管理,請自行建立管理員賬號密碼及無比開啟django管理後端【django預設後端】!

python manage.py createsuperuser  # 建立超管

支付配置

注意:如果你只是暫時檢視演示,不需要收款,到此就先告一段落!

配置收款需要在專案的settings.py檔案中額外引入相關配置,記住支付寶的相關公鑰和私鑰都是需要配置路徑檔案,這裡一一定要配置正確,否則會影響程式執行,這一塊後期版本可能會優化!

配置如下:

HAPPY_SHOP = {
    'ALIPAY':{
        'APPID': appid
        'RETURN_URL': 'http://127.0.0.1:8000/happy/api/alipay/',
        'NOTIFY_URL': 'http://127.0.0.1:8000/happy/api/alipay/',
        'DEBUG': DEBUG, 
        'PRIVATE_KEY':BASE_DIR / 'app_private_key.pem',    # 應用私鑰
        'PUBLIC_KEY':BASE_DIR / 'alipay_public_key.pem',   # 支付寶公鑰,不是應用公鑰
    },
}

私鑰與公鑰一定要配置正確,否則回撥無法驗證成功,訂單狀態無法修改! 部署時一定要關閉django的DEBUG模式,否則支付地址跳轉為沙箱地址,不能正確收款!

其他

其他相關模組的配置,請參考有關模組的文件,感謝一下幾個模組的作者!

歡迎大家start,評論指教!