python全栈生鲜电商_GitHub - yuanwenq/dailyfresh: Django-天天生鲜电商学习项目

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 (读已提交)

项目包介绍

amqp==2.3.2

asn1crypto==0.24.0

billiard==3.5.0.4

celery==4.2.1

certifi==2018.11.29

cffi==1.11.5

chardet==3.0.4

configparser==3.5.0

cryptography==2.4.1

Django==1.8.2

django-haystack==2.8.1

django-redis==4.10.0

django-redis-sessions==0.5.6

django-tinymce==2.6.0

fdfs-client-py==1.2.6

idna==2.7

itsdangerous==1.1.0 # 身份信息加密

jieba==0.39 # jieba分词-分解词汇方便搜索

kombu==4.2.1

mutagen==1.41.1

Pillow==5.3.0

pycparser==2.19

pycryptodomex==3.7.2

PyMySQL==0.9.2

python-alipay-sdk==1.8.0

pytz==2018.7

redis==2.10.6

requests==2.20.1

rerequests==1.0.0b0

six==1.11.0

urllib3==1.24.1

uWSGI==2.0.17.1

vine==1.1.4

Whoosh==2.7.4

注意点

pip install fdfs_client-py-master 存在bug,需要下载特定版本

redis版本需要2.10.6 否则会报错,因为使用django的版本过低问题

如果使用乐观锁,需要修改mysql事务的隔离级别设置

总结

项目展示

项目布局

|-- README.md

|-- __init__.py

|-- apps

| |-- __init__.py

| |-- cart

| | |-- __init__.py

| | |-- __pycache__

| | |-- admin.py

| | |-- migrations

| | | |-- __init__.py

| | | `-- __pycache__

| | |-- models.py

| | |-- tests.py

| | |-- urls.py

| | `-- views.py

| |-- goods

| | |-- __init__.py

| | |-- __pycache__

| | |-- admin.py

| | |-- migrations

| | | |-- 0001_initial.py

| | | |-- __init__.py

| | | `-- __pycache__

| | | |-- 0001_initial.cpython-36.pyc

| | |-- models.py

| | |-- search_indexes.py

| | |-- tests.py

| | |-- urls.py

| | `-- views.py

| |-- order

| | |-- __init__.py

| | |-- __pycache__

| | |-- admin.py

| | |-- alipay_public_key.pem

| | |-- app_private_key.pem

| | |-- migrations

| | | |-- 0001_initial.py

| | | |-- 0002_auto_20181126_1609.py

| | | |-- __init__.py

| | | `-- __pycache__

| | |-- models.py

| | |-- tests.py

| | |-- urls.py

| | `-- views.py

| `-- user

| |-- __init__.py

| |-- __pycache__

| |-- admin.py

| |-- migrations

| | |-- 0001_initial.py

| | |-- __init__.py

| | `-- __pycache__

| |-- models.py

| |-- tests.py

| |-- urls.py

| `-- views.py

|-- celery_tasks

| |-- __init__.py

| |-- __pycache__

| `-- tasks.py

|-- configurationFile

| |-- Full-textSearchEngine.md

| |-- celeryDescript.md

| |-- conf

| | |-- client.conf

| | |-- mod_fastdfs.conf

| | |-- nginx.conf

| | |-- redis.conf

| | |-- search.png

| | |-- storage.conf

| | |-- tracker.conf

| | `-- whoosh_cn_backend.py

| |-- fastDFSDownload.md

| |-- images

| |-- nginxAndFastDFS-nginx-moduleDownload.md

| |-- redisDownload.md

| `-- virtualenvDescript.md

|-- dailyfresh

| |-- __init__.py

| |-- __pycache__

| |-- settings.py

| |-- urls.py

| `-- wsgi.py

|-- db

| |-- __init__.py

| |-- __pycache__

| `-- base_model.py

|-- manage.py

|-- mind.md

|-- nginxConfig

|-- requirements.txt

|-- static

| |-- cart.html

| |-- css

| |-- detail.html

| |-- images

| |-- index.html

| |-- js

| | |-- jquery-1.12.4.min.js

| | |-- jquery-ui.min.js

| | |-- jquery.cookie.js

| | |-- register.js

| | `-- slide.js

| |-- list.html

| |-- login.html

| |-- place_order.html

| |-- register.html

| |-- user_center_info.html

| |-- user_center_order.html

| `-- user_center_site.html

|-- templates

| |-- base.html

| |-- base_detail_list.html

| |-- base_no_cart.html

| |-- base_user_center.html

| |-- cart.html

| |-- detail.html

| |-- index.html

| |-- list.html

| |-- login.html

| |-- order_comment.html

| |-- place_order.html

| |-- register.html

| |-- search

| | |-- indexes

| | | `-- goods

| | | `-- goodssku_text.txt

| | |-- search.html

| | `-- search1.html

| |-- static_base.html

| |-- static_index.html

| |-- user_center_info.html

| |-- user_center_order.html

| `-- user_center_site.html

|-- utils

| |-- __init__.py

| |-- __pycache__

| |-- fdfs

| | |-- __init__.py

| | |-- __pycache__

| | |-- client.conf

| | `-- storage.py

| `-- mixin.py

|-- uwsgi

|-- uwsgi.log

|-- uwsgi.pid

|-- uwsgi2

|-- uwsgi2.log

|-- uwsgi2.pid

`-- whoosh_index

|-- MAIN_WRITELOCK

|-- MAIN_o1a38vfacpcxkfgw.seg

`-- _MAIN_11.toc

MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用程序、企业级解决方案以及其他各种数据处理场景的首选数据库平台之一。 以下是对MySQL数据库的详细介绍: 核心特性与优势 开源与跨平台 MySQL遵循GPL开源协议,这意味着任何人都可以免费下载、使用和修改其源代码。这种开放性促进了广泛的社区支持和第三方插件、工具的发展。此外,MySQL支持多种操作系统,包括Windows、Linux、macOS、Solaris等,确保了其在不同环境下的兼容性和部署灵活性。 关系型模型与SQL支持 MySQL基于关系型数据库模型,数据以表格形式组织,并通过预定义的键(如主键、外键)在表之间建立关联。它完全支持结构化查询语言(SQL),允许用户进行数据查询、插入、更新、删除、创建和管理数据库结构等操作。SQL标准的广泛支持使得MySQL易于学习,且与其他关系型数据库系统有良好的互操作性。 存储引擎 MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY等,每种引擎都有特定的优势和适用场景。例如,InnoDB提供事务安全、行级锁定和外键约束,适合处理高并发事务性的应用;MyISAM则更侧重于读取密集型操作,提供全文索引支持,适用于读多写少的场景。这种多引擎架构使得MySQL能够适应不同业务需求,提供高度定制化的存储解决方案。 性能与可扩展性 MySQL通过高效的缓存机制、查询优化器以及对硬件资源的有效利用,保证了在高负载情况下的稳定性和快速响应。它支持水平扩展(如通过分片、复制等技术)和垂直扩展(如增加硬件资源),以应对大规模数据存储和高并发访问的需求。 安全性与管理工具 MySQL提供了一系列安全措施,如用户账户管理、访问权限控制、SSL/TLS加密连接、审计日志等功能,确保数据的安全性和合规性。同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值