BaykeShop开源商城系统
系统介绍
基于django构建的开源商城模块,可以快速的应用到自己的项目当中,使得自己的项目可以快速的拥有一个商城模块,使用简单,没有过多的依赖第三方包,非常的轻量,只使用了django+pyecharts+pillow+drf等一些基础的模块库,并实现了商城后台所需要的基本数据分析功能图表。
系统功能
商城模块
- 商品管理
- 商品分类
- 商品品牌
- 商品规格
- 商品参数
- 订单管理
- 订单评论(可回复评论)
内容模块
- 文章管理
- 文章分类
- 文章标签
- 侧边栏管理
系统管理
- 字典管理
- 轮播图管理
权限管理(django默认)
- 用户管理
- 用户组管理
商城系统开发实战课程
课程地址:https://www.bilibili.com/cheese/play/ss11391
系统截图
演示站点
快速开始
视频教程:https://www.bilibili.com/video/BV11Zq2YgESy/
pip install baykeshop
pip install baykeshop -i https://pypi.org/simple --upgrade
基本配置
- django项目settings.py中配置
import baykeshop
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'rest_framework',
*baykeshop.INSTALLED_APPS,
]
SITE_ID = 1
备注:这里我们覆盖了默认的管理站定,默认的管理站点配置需要注释掉或删除,如上所示!
rest_framework是django-rest-framework的依赖包,一般安装本项目时会自动跟随安装,直接引入即可,否则需要自行安装。
- 配置静态文件
STATIC_URL = 'static/'
STATIC_ROOT = BASE_DIR / 'static'
MEDIA_URL = 'media/'
MEDIA_ROOT = BASE_DIR / 'media'
- 配置图片显示前缀
在项目的settings.py文件中的TEMPLATES配置中,添加如下代码:
'context_processors': [
...
'django.template.context_processors.media',
...
],
- 配置数据库
这里我们不做强制配置,直接使用默认的数据库即可,也可以根据自己需要配置数据库,具体请参考Django官方文档。
- 配置缓存
这里我们不做强制配置,直接使用默认的缓存即可,也可以根据自己需要配置缓存,具体请参考Django官方文档。
Url配置
在项目的urls.py文件中,添加如下代码:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('baykeshop.urls')),
*static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT),
*static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
]
注意:这里我们添加了静态文件和媒体文件的配置,是为了方便开发时调试,实际生产环境可以删除。
终端命令
最好在虚拟环境中运行...
# 生成迁移表
python manage.py makemigrations
# 执行迁移表
python manage.py migrate
# 创建超级用户
python manage.py createsuperuser
# 初始化项目必要配置
python manage.py init
# 启动项目
python manage.py runserver
配置完成后,即可访问!
源码运行
直接克隆源码到本地,本项目源码采用uv开发,具体开发工具使用请参考官方文档!
地址:https://docs.astral.sh/uv/
运行步骤:
uv sync
cd project
# 生成迁移表
uv run python manage.py makemigrations
# 执行迁移表
uv run python manage.py migrate
# 创建超级用户
uv run python manage.py createsuperuser
# 初始化项目必要配置
uv run python manage.py init
# 启动项目
uv run python manage.py runserver
自定义菜单
1.3.17版之后加入了自定义菜单功能,该功能默认是关闭的,在1.3.17版本init命令初始化的时候会自动生成一个自定义菜单!
开启只需要在项目的settings.py中配置如下代码即可:
BAYKE_SETTINGS = {
'USE_MENU': True,
}
USE_MENU为是否使用自定义菜单,默认为False,如果为True,则使用自定义菜单,否则使用默认菜单。
自定义菜单使用
开启自定义菜单后,会在系统菜单中看到一个二级菜单“菜单管理”,可以添加一级菜单和二级菜单,一级菜单不能关联权限及点击,二级菜单是实际的权限菜单,如果想让某个用户可以看到该菜单那么只需要分配模型的view权限给用户即可,那么改菜单只需要关联一个模型view权限即可。