{"id":15024218,"url":"https://github.com/xiaowang012/fruitstore","last_synced_at":"2025-04-12T06:18:47.177Z","repository":{"id":40470091,"uuid":"478358164","full_name":"xiaowang012/FruitStore","owner":"xiaowang012","description":"使用Django 写的一个简单的水果商城系统，具有基本的商城功能，还没写完......","archived":false,"fork":false,"pushed_at":"2022-05-11T13:27:12.000Z","size":38154,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T06:18:37.594Z","etag":null,"topics":["bootstrap3","django","mysql","nginx","python"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xiaowang012.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-06T01:23:40.000Z","updated_at":"2024-08-08T10:51:21.000Z","dependencies_parsed_at":"2022-08-09T21:21:07.966Z","dependency_job_id":null,"html_url":"https://github.com/xiaowang012/FruitStore","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaowang012%2FFruitStore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaowang012%2FFruitStore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaowang012%2FFruitStore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaowang012%2FFruitStore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiaowang012","download_url":"https://codeload.github.com/xiaowang012/FruitStore/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525141,"owners_count":21118620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap3","django","mysql","nginx","python"],"created_at":"2024-09-24T19:59:58.590Z","updated_at":"2025-04-12T06:18:47.156Z","avatar_url":"https://github.com/xiaowang012.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 使用 Django + Mysql 写的简单的水果商城系统\n\n## 1.界面截图\n\n### （1）登录界面\n\n![](./img/login.png)\n\n###   (2) 注册用户界面\n\n![](./img/register.png)\n\n###   (3) 修改密码界面\n\n![](./img/update_password.png)\n\n### （4） 商城主页\n\n![home](./img/index.png)\n\n### （5）商城水果列表页\n\n![](./img/fruit_list.png)\n\n### （6）商城水果详情页\n\n![book](./img/fruit_details.png)\n\n### （7）商城购物车页\n\n![book](./img/shopping_cart.png)\n\n### （8）个人信息页\n\n​\t![](./img/user_info.png)\n\n### （9）确认订单页\n\n​\t![](./img/confirm_order.png)\n\n###  （10）用户管理\n\n![](./img/management_user.png)\n\n###  （11）权限管理\n\n![](./img/management_permission.png)\n\n###  （12）订单管理\n\n![](./img/management_order.png)\n\n###  （13）商品管理\n\n![](./img/management_goods.png)\n\n###  （14）角色管理\n\n![](./img/management_role.png)\n\n###  （15）发货管理\n\n![](./img/management_logistics.png)\n\n### （16）查看发货清单\n\n![](./img/logistics_sheet.png)\n\n\n## 2.环境配置\n\n### （1）安装Python环境\n\n​\twindows下：\n\n​\t\t\t下载Python3.6以上版本（python.org）\n\n​\tLinux(centos8)：\n\n​\t\t\t自带python3.6.8\n\n![15](./img/python3.png)\n\n### （2） 安装虚拟环境并安装依赖包\n\n​\twindows下：\n\n​\t\t\t安装virtualenv模块 ：pip install virtualenv\n\n​\t\t\t创建虚拟环境文件夹：cmd中输入： virtualenv fruit_ENV(需要创建的虚拟环境文件夹名称)\n\n![15](./img/create_env_win.png)\n\n\n\n​\t\t\t激活虚拟环境: 在cmd中进入fruit_ENV\\Scripts目录，输入：activate即可激活虚拟环境，退出虚拟环境: deactivate\n\n​\t\t\t安装依赖包：激活虚拟环境后cd 进入项目目录，里面有一个requirements.txt依赖文件，安装只需要使用：pip install -r requirements.txt即可自动安装所有的依赖包。\n\nLinux下：\n\n​\t\t\t创建虚拟环境：virtualenv -p python3.6 django_ENV\n\n![](./img/create_env.png)\n\n​\t\t\t激活虚拟环境: source fruit_ENV/bin/activate\n\n​\t\t\t除了上述步骤与windows不一样以外其他步骤均相同。\n\n### （3）创建表结构\n\nwindows和Linux操作相同：\n\n​     需要手动创建对应的数据库（使用的是mysql）安装完mysql数据库之后，使用：mysql -u root -p 登录数据库，输入create database    django_database 创建名为：django_database (settings.py中的配置数据库名称为这个，也可以改为其他的，修改对应的配置即可)的数据库。然后创建表结构：使用命令：\n\npython manage.py makemigrations\n\npython manage.py migrate \n\npython manage.py makemigrations fruit_app\n\npython manage.py migrate fruit_app\n\n创建完表结构之后，将测试数据（/testdata/django_database）导入到mysql中：\n\n登录mysql数据库进行以下操作：\n\nmysql -u root -p 输入密码\n\nuse django_database;\n\nsource G:\\django_books\\testdata\\django_database.sql (windows)\n\n或者source /django_books/testdata/django_database.sql (Linux)\n\n创建好测试数据就可以登陆了。\n\n\n\n## 3. 运行web应用程序\n\n在登录前可以创建一个超级用户：python manage.py createsuperuser 输入一次用户名，邮箱，两次密码即可创建成功。\n\n进入虚拟环境后：python manage.py runserver 0.0.0.0:5000 (ip和port可以任意指定，port不能被占用)即可运行该应用程序\n\n![](./img/run.png)\n\n\n\n## 4.使用nginx +gunicorn 部署\n\n### （1）nginx的配置\n\n####         安装nginx ：yum install nginx\n\n​\t\t（1）安装完成后查看nginx版本：nginx -v![](./img/nginx_version.png)\n\n\n\n​         （2）在/etc/nginx/nginx.conf中修改配置：vim /etc/nginx/nginx.conf    注：server中的端口为nginx的监听端口， location中的地址为gunicorn 运行django wsgi服务的地址，下面两个location为配置的静态资源地址。如果出现加载静态资源报403的情况，需要把nginx中的配置：user nginx; 改为：user root; 修改完成后按esc 冒号 输入：wq 保存退出vim。\n\n![](./img/nginx_config.png)\n\n\n\n​             (3) 重启nginx : nginx -s reload  查看nginx的服务 ：lsof -i:4999 查看到对应的进程即为配置成功 。运行nginx命令：nginx\n\n![](./img/nginx_port.png)\n\n### （2）使用gunicorn 运行服务\n\n​\t\t\t（1）安装gunicorn 包:pip install gunicorn \n\n​\t\t\t（2）使用gunicorn 运行django项目：进入虚拟环境，项目目录，执行: gunicorn -w 4  -b 127.0.0.1:5001 FruitStore.wsgi  \u0026 (-w 为进程数,-b 为绑定的host:port   FruitStore为项目名称，由django-admin startproject projectname  创建， \u0026表示后台运行)\n\n![2017](./img/gunicorn_run.png)\n\n\n\n### （3）测试结果\n\n​              访问网页并查看接口的服务器是否为nginx，查看到Server: nginx/1.20.2表示部署成功,注册用户后可以尝试登录是否成功。\n\n![ng](./img/ng.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaowang012%2Ffruitstore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaowang012%2Ffruitstore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaowang012%2Ffruitstore/lists"}