django-happy-shop 1.1.3
一个可快速集成到任何django项目的轻量级商城模块！
License: MIT
Requires Python: >=3.6

![未标题-1.jpg](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/06b9678856eb485ebe78bbd188d4c4ea~tplv-k3u1fbpfcp-watermark.image?)
### 介绍

HappyShop 是一个 Django 开发的第三方包，可以快速集成到任何django项目，以便快速获得一个简单的商城功能。

本项目采用django + DRF + vue开发，具备前后端分离基因，拥有完整的多规格商品逻辑，集成支付宝支付，只需要简单配置即可快速收款！

当然，其他功能还在迭代…
### 演示站
- 演示地址：[HappyShop (lotdoc.cn)](http://mall.lotdoc.cn/happy/)
- 开源地址：[django-happy-shop: django-happy-shop是python栈采用最新版django框架前后端分离开发的商城模块，可快速通过pip命令快速集成到任何django项目！ (gitee.com)](https://gitee.com/xingfugz/happy-shop)
- 文档地址：[django-happy-shop使用文档 (lotdoc.cn)](http://www.lotdoc.cn/blog/detail/155/?menu=5)
- 备注：本仓库的源码为开发版，会实时更新，稳定版本源码请使用pip进行安装！

### 快速开始

#### pip命令快速安装

安装方法与python其他包的方法一致，一条命令即可快速安装！

```python
pip install django-happy-shop
```

### 使用说明

1.  将 "happy_shop" 添加到您的 INSTALLED_APPS 设置中，以及项目需要的其他几个依赖，如下所示：

```python
INSTALLED_APPS = [
    ...
    'happy_shop',      # happy_shop主程序
    'rest_framework',  # DRF
	
    'corsheaders',     # 处理跨域的包
    'crispy_forms',    # 可浏览API的form包，便于调试
]
```

其中引入`happy_shop` 与 ``rest_framework`` 两个模块是必须的，因为改程序依赖于他们两个，下边两个模块是为了方便调试而引入的，一个是解决跨域问题而引入，这个视自己的使用情况决定，当前程序可以不引入，另外一个是为了配合django-filter模块使用，如果不开发调试可不引入！

2. 在项目 urls.py 中包含 happy_shop 的 URLconf，如下所示

```python
urlpatterns = [
    ...
    # 这里url开头的happy暂时请不要自定义，可能会影响某些接口的运作
    path('happy/', include('happy_shop.urls')),  
]
```

如果需要查看可浏览的API文档及页面还需要加入以下两个url，这不是必须的，根据自己使用情况而定！

```python
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')),    
]
```

3. 运行django的`migrate`命令创建模型数据

```python
python manage.py migrate
```

4. 运行django的runserver命令，启动开发服务器

```python
python manage.py runserver
```

5. 访问http://127.0.0.1:8000/happy/ 即可查看商城页面！

7. 当前商城系统后台依赖django默认的admin，请访问`http://127.0.0.1:8000/admin/` 进入后台进行数据管理，请自行创建管理员账号密码及无比开启django管理后端【django默认后端】！

```python
python manage.py createsuperuser  # 创建超管
```

### 支付配置

注意：如果你只是暂时查看演示，不需要收款，到此就先告一段落！

配置收款需要在项目的settings.py文件中额外引入相关配置，记住支付宝的相关公钥和私钥都是需要配置路径文件，这里一一定要配置正确，否则会影响程序运行，这一块后期版本可能会优化！

**配置如下：**

```python
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模式，否则支付地址跳转为沙箱地址，不能正确收款！

### 其他

其他相关模块的配置，请参考有关模块的文档,感谢一下几个模块的作者！

-   [Home - Django REST framework (django-rest-framework.org)](https://www.django-rest-framework.org/)
-   [django-cors-headers · PyPI](https://pypi.org/project/django-cors-headers/)
-   [django-filter — django-filter 2.4.0 documentation](https://django-filter.readthedocs.io/en/latest/)
-   [alipay/README.zh-hans.md at master · fzlee/alipay (github.com)](https://github.com/fzlee/alipay/blob/master/README.zh-hans.md)

### 交流群
- qq群：962059502

![QQ群](happy_shop/static/happy_shop/images/qq.png ) 
<!-- ![微信群](happy_shop/static/happy_shop/images/wx.png) -->


欢迎大家start，评论指教！