You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
p8wzxg37o e2f662ee9c
课设报告
6 months ago
.idea sdz 6 months ago
apps sdz 6 months ago
celery_tasks sdz 6 months ago
dailyfresh sdz 6 months ago
db sdz 6 months ago
my_files sdz 6 months ago
static sdz 6 months ago
templates sdz 6 months ago
utils sdz 6 months ago
whoosh_index sdz 6 months ago
README.md sdz 6 months ago
img.png sdz 6 months ago
img_1.png sdz 6 months ago
img_2.png sdz 6 months ago
img_3.png sdz 6 months ago
manage.py sdz 6 months ago
requirements.txt sdz 6 months ago
计科2105-李谟翰-21412080632.doc 课设报告 6 months ago

README.md

Python-Django-天天生鲜项目

初学django框架时按照传智播客python教程所学习的项目,该项目包含了实际开发中的电商项目中大部分的功能开发和知识点实践。

功能:用户注册,用户登录,购物车,用户中心,首页,订单系统,地址信息管理,商品列表,商品详情,支付功能等等,是一个完整的电商项目流程

技术栈

python + django + mysql + redis + celery + FastDFS(分布式图片服务器) + nginx

目标功能:

  • 功能模块

    • 用户模块
      • 注册
      • 登录
      • 激活(celery)
      • 退出
      • 个人中心
      • 地址管理
    • 商品模块
      • 首页(celery)
      • 商品详情
      • 商品列表
      • 搜索功能(haystack+whoose)
    • 购物车模块(redis)
      • 增加
      • 删除
      • 修改
      • 查询
    • 订单模块
      • 确认订单页面
      • 订单创建
      • 请求支付(支付宝)
      • 查询支付结果
      • 评论
  • 项目启动:

    • 注意: 项目启动前请先安装好各个环境,mysql+redis+nginx+fastDFS+celery等
      项目包安装
      pip install -r requirements.txt
      
      Django启动命令
      python manage.py runserver 
      
  • uwsgi web服务器启动

    • 注意: uwsgi开启需要修改配置文件中的DEBUG和ALLOWED_HOSTS
      启动: uwsgi --ini 配置文件路径 / uwsgi --ini uwsgi.ini
      停止: uwsgi --stop uwsgi.pid路径 / uwsgi --stop uwsgi.pid
      
  • celery分布式任务队列启动
    celery -A celery_tasks.tasks worker -l info

  • redis服务端启动
    sudo redis-server /etc/redis/redis.conf

  • FastDFS服务启动 ```
    Trackerd服务 sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

      storge服务
      sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
      ```
    
  • nginx

    启动nginx
    sudo /usr/local/nginx/sbin/nginx
    重启nginx
    sudo /usr/local/nginx/sbin/nginx -s reload
    
  • 建立索引文件--搜索引擎
    新环境需要配置jieba分词,生成whoose_cn_backend文件

    python manage.py rebuild_index
    
  • mysql事务隔离级别设置

    sudo vim /etc/mysql/mysql.conf.d/mysql.cnf
    transaction-isolation = READ-COMMITTED (读已提交)
    

项目包介绍

alipay-sdk-python==3.7.137
amqp==5.2.0
asgiref==3.8.1
asn1crypto==0.24.0
async-timeout==4.0.3
Authlib==0.5.1
billiard==4.2.0
Brotli==1.1.0
celery==5.4.0
certifi==2024.2.2
cffi==1.16.0
chardet==3.0.4
charset-normalizer==3.3.2
click==8.1.7
click-didyoumean==0.3.1
click-plugins==1.1.1
click-repl==0.3.0
colorama==0.4.6
configparser==3.5.0
construct==2.5.3
cryptography==42.0.7
Django==3.2.13
django-filter==24.2
django-haystack==3.2.1
django-redis==5.4.0
django-redis-sessions==0.5.6
django-tinymce==4.0.0
djangorestframework==3.15.1
djangorestframework-jwt==1.11.0
haystack==0.42
idna==3.7
itsdangerous==2.2.0
jieba==0.42.1
kombu==5.3.7
mysqlclient==2.2.4
pefile==2023.2.7
Pillow==9.5.0
prompt_toolkit==3.0.45
pyasn1==0.6.0
pycparser==2.22
pycryptodome==3.20.0
pycryptodomex==3.20.0
pygame==2.5.2
PyJWT==1.7.1
PyMySQL==1.0.2
pyOpenSSL==24.1.0
python-alipay-sdk==3.3.0
python-dateutil==2.9.0.post0
python-ptrace==0.9.9
pytz==2024.1
redis==5.0.4
requests==2.32.3
rsa==4.9
six==1.16.0
sqlparse==0.5.0
typing_extensions==4.12.0
tzdata==2024.1
urllib3==2.2.1
vine==5.1.0
wcwidth==0.2.13
Whoosh==2.7.4
wincertstore==0.2.1

注意点

pip install fdfs_client-py-master 存在bug需要下载特定版本 redis版本需要2.10.6 否则会报错,因为使用django的版本过低问题
如果使用乐观锁,需要修改mysql事务的隔离级别设置

总结

需求分析 1.1 用户模块 1 注册页  注册时校验用户名是否已被注册。  完成用户信息的注册  给用户的注册邮箱发送邮件,用户点击邮件中的激活链接完成用户账户的激活。 2登陆页  实现用户的登录功能 3用户中心  用户中心信息页,显示登录用户的信息,包括用户名、电话和地址,同时页面下方显示出用户最近浏览的商品信息。  用户中心地址页:显示登陆用户的默认收件地址,页面下方的表单可以新增用户的收货地址。  用户中心订单页:显示登录用户的订单信息。 4其他  如果用户已经登陆,页面顶部显示用户的订单信息。 1.2 商品模块 1首页  动态指定首页轮播商品信息。  动态指定首页活动信息。  动态获取商品的种类信息并显示。  动态指定首页显示的每个种类的商品(包括图片商品的文字商品)。  点击某一个商品时跳转到商品的详情页面。 2商品详情页  显示出某个商品的详细信息。  页面下方显示出该商品的两个新品信息。 3商品列表页  显示出某一个种类的商品的列表数据,分页显示并支持按照默认、价格和人气进行排序。  页面下方显示出该商品的两个新品信息。 4其他  通过搜索框搜索商品信息。 1.3 购物车模块  列表页和详情页将商品添加到购物车。  用户登录后,首页,详情页,列表页显示用户购物车中的商品数目。  购物车页面:对用户购物车中的商品操作。如选择某件商品,增加或减少购物车中的商品数目。 1.4 订单相关  提交订单页面:显示用户准备购买的商品信息。  点击提交订单完成订单的创建。  用户中心订单页显示用户的订单信息。  点击支付完成订单的支付。  点击评价完成订单的评价。