django-haapy-shop
单看其名称就可以看出,他是一个跟django相关的商城,中间加了一个happy的单词,首先是因为pypi没有与这个重名的包,便于打包上传到pypi;其次,也是非常重要的一个原因是我希望无论做任何事情都是开心、快乐的,包括使用他的人也是愉快的,简单的,不想让编程成为一种负担,这是一个愿望,也是一个期许,做一个快乐的人,做一个使用愉快的商城模块,无论是大家用来学习还是做其他项目,都希望如此!
django-happy-shop一个可以快速集成到任何django项目的商城模块,正如他的名字一样,简单、快乐,使用愉快!
快速开始
介绍
HappyShop 是一个 Django 开发的第三方包,可以快速集成到任何django项目,以便快速获得一个简单的商城功能。
本项目采用django + DRF + vue开发,具备前后端分离基因,拥有完整的多规格商品逻辑,集成支付宝支付,只需要简单配置即可快速收款!
当然,其他功能还在迭代…
开源地址:
快速开始
pip命令快速安装
安装方法与python其他包的方法一致,一条命令即可快速安装!
pip install django-happy-shop
使用说明
- 将 "happy_shop" 添加到您的 INSTALLED_APPS 设置中,以及项目需要的其他几个依赖,如下所示:
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,如下所示
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')),
]
3. 运行django的migrate
命令创建模型数据
python manage.py migrate
4. 运行django的runserver命令,启动开发服务器
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 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模式,否则支付地址跳转为沙箱地址,不能正确收款!
其他
其他相关模块的配置,请参考有关模块的文档,感谢一下几个模块的作者!