学习django笔记(天天生鲜)
bug1:
celery 使用(防止alueError: not enough values to unpack (expected 3, got 0))
由于使用的是4.2版本celery所以使用’celery -A celery_tasks.handle worker --pool=solo -l info’ 命令而不是’celery -A celery_tasks.handle worker --loglevel=info’
FastDFS安装
5.1 安装fastdfs依赖包
1. 解压缩libfastcommon-master.zip
2. 进入到libfastcommon-master的目录中
3. 执行 ./make.sh
4. 执行 sudo ./make.sh install
5.2 安装fastdfs
1. 解压缩fastdfs-master.zip
2. 进入到 fastdfs-master目录中
3. 执行 ./make.sh
4. 执行 sudo ./make.sh install
5.3 配置跟踪服务器tracker
1. sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
2. 在/home/python/目录中创建目录 fastdfs/tracker
mkdir –p /home/python/fastdfs/tracker
3. 编辑/etc/fdfs/tracker.conf配置文件 sudo vim /etc/fdfs/tracker.conf
修改 base_path=/home/python/fastdfs/tracker
5.4 配置存储服务器storage
1. sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
2. 在/home/python/fastdfs/ 目录中创建目录 storage
mkdir –p /home/python/fastdfs/storage
3. 编辑/etc/fdfs/storage.conf配置文件 sudo vim /etc/fdfs/storage.conf
修改内容:
base_path=/home/python/fastdfs/storage
store_path0=/home/python/fastdfs/storage
tracker_server=自己ubuntu虚拟机的ip地址:22122
5.5 启动tracker 和 storage
sudo service fdfs_trackerd start
sudo service fdfs_storaged start
直到这一步,系统报错:
Failed to start fdfs_trackerd.service: Unit fdfs_trackerd.service not found
解决方式:关闭虚拟机,更换网络连接方式为NAT,再重启,这时候,更改,再次启动会发现,不报错了。
5.6 测试是否安装成功
1. sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
2. 编辑/etc/fdfs/client.conf配置文件 sudo vim /etc/fdfs/client.conf
修改内容:
base_path=/home/python/fastdfs/tracker
tracker_server=自己ubuntu虚拟机的ip地址:22122
3. 上传文件测试:
fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
如果返回类似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功
所使用的fastFDFS自定义的storage类
settings.py中添加:
# 设置Django的文件存储类 DEFAULT_FILE_STORAGE = 'utils.fdfs.storage.FDFSStorage' # 设置fdfs使用的client.conf文件路径 FDFS_CLIENT_CONF = os.path.join(BASE_DIR, './utils/fdfs/client.conf') # 设置fdfs存储服务器上nginx的IP和端口号(默认8888) FDFS_URL = 'http://192.168.243.129:8888/'
新建的存放自定义storage类的.py文件:
from django.conf import settings from django.core.files.storage import Storage from django.utils.deconstruct import deconstructible from fdfs_client.client import Fdfs_client, get_tracker_conf @deconstructible class FDFSStorage(Storage): """自定义的fastdfs文件存储系统类""" def __init__(self, client_conf=None, base_url=None): """初始化""" if not client_conf: client_conf = settings.FDFS_CLIENT_CONF self.client_conf = client_conf if not base_url: base_url = settings.FDFS_URL self.base_url = base_url def _open(self): """打开文件""" pass def _save(self, name, content): """保存文件""" client = Fdfs_client(get_tracker_conf(self.client_conf)) res = client.upload_by_buffer(content.read()) if res.get('Status') != 'Upload successed.': # 上传失败 raise Exception('上传文件到fast dfs失败') # 获取返回的文件ID filename = res.get('Remote file_id') return filename.decode() def exists(self, name): '''在save()函数之前执行,Django判断文件名是否可用 返回True如果给定的名称引用的文件在存储系统中已经存在,或者False如果名称是适用于一个新的文件。 本项目文件并非存放在django中,即返回一定为False''' return False def url(self, name): '''返回访问文件的url路径''' return self.base_url + name
从网上下载的client.conf文件中只需要修改:
# the base path to store log files 配置存放日志文件的路径 base_path=F:\project\log # "host:port", host can be hostname or ip address #配置tracker_server IP地址,端口号port默认22122 tracker_server=192.168.243.129:22122
学习django笔记(天天生鲜)相关推荐
- 基于Python+django的 天天生鲜超市网上购物商城-计算机毕业设计
项目介绍 根据毕业设计的需求,设计一个界面友好的网上生鲜超市系统,用户能够直观的浏览及查询到想要的信息,了解消费者的习惯,实现系统的基本功能,用户操作起来更方便.为了让管理者了解自己的权限,方便直观的 ...
- B站Django项目天天生鲜学习|celery异步发送邮件遇到的问题
环境:win10,Python3.7,Django2.2.15,celery4.3.0 django.core.exceptions.ImproperlyConfigured: Requested s ...
- 第二章、天天生鲜注册功能基本实现
第二章 天天生鲜项目实现基本功能 学习入门指南: 天天生鲜项目搭建文件可从公众号学聚思获取,关注公众号:学聚思.学聚思.学聚思.重要的事情说三遍 本文博客获取关键词:天天生鲜注册实现博客 本项目关键词 ...
- 天天生鲜项目 python邮箱_python3 之 天天生鲜 项目(初学者)1
简单第一步 假设: 你已学过 python基础.高级:了解并简单使用linux操作系统:mysql数据库.redis数据库的简单使用:掌握Django框架的使用 这是一个 很多培训机构 讲解的项目 r ...
- Django通过celery 异步发送邮件 : django开发之天天生鲜项目知识总结【5】
这里初次学习celery,只简单讲解一下如何使用celery 异步发送邮件,在以后的总结中还会,多次提到celery,因为后面很多任务都需要用到celery执行任务,后面再专门针对celery做具体的 ...
- 天天生鲜项目开发笔记
天天生鲜项目开发笔记 说在前面的话 大学四年,忙忙碌碌,什么都学了,又好像什么都没学,总之要毕业了,毕设题目是"生鲜配送系统",B站上找到了一个天天生鲜的项目开发教程,之后文章记录 ...
- 【Django 天天生鲜项目05】订单(Mysql事务、并发处理、支付宝支付、评论)
本部分涉及订单的生成.并发处理.支付.评论等 关键:MySQL事务.并发处理的悲观锁/乐观锁.支付宝SDK 的使用...... 仅作为个人笔记! 目录 2.创建订单 3.订单生成 3.1. MySQL ...
- 订单支付和评论——基于Django框架的天天生鲜电商网站项目系列博客(十五)
系列文章目录 需求分析--基于Django框架的天天生鲜电商网站项目系列博客(一) 网站框架搭建--基于Django框架的天天生鲜电商网站项目系列博客(二) 用户注册模块--基于Django框架的天天 ...
- 网站框架搭建——基于Django框架的天天生鲜电商网站项目系列博客(二)
系列文章目录 需求分析--基于Django框架的天天生鲜电商网站项目系列博客(一) 网站框架搭建--基于Django框架的天天生鲜电商网站项目系列博客(二) 用户注册模块--基于Django框架的天天 ...
- django项目(天天生鲜电商项目)
django项目(天天生鲜电商项目)代码如下: github链接(这个是自己写的源码,喜欢的给个星) 天天生鲜项目视频(这个是python全栈的视频,好不容易找到的, 这个包含天天生鲜项目自带的源码) ...
最新文章
- ocr智能图文识别 tess4j 图文,验证码识别
- 41、应用如何签名以及签名的意义(转载)
- 网狐棋牌(一) ServerKernel中的IQueueService接口分析
- android web通讯录,Android手机开发之通讯录
- nginx 1.4.3能直接升到1.8.1吗
- qt种qdebug字符串_qDebug用法及中文乱码解决
- 树莓派4bwlan驱动_树莓派4到手,你了解它所使用的新版Debian系统吗?
- 学习spring必须java基础知识-动态代理
- Yii2.0 两次奇葩的数据库连接经历
- How do I filtered TextBox with an Integer Data Type
- nc 连接文件服务器失败,nc文件服务器
- 腾讯云 配置短信验证
- TensorFlow Serving
- 微信公众号多域名回调系统
- 平生事,此时凝睇,谁会凭栏意!(4)
- Stata:非线性模型的交互效应
- 夜神模拟器 安卓7.0 burp抓包 https流量
- [蓝桥杯][2018年第九届真题]日志统计(尺取法)
- input file自定义
- 孙家广院士加盟昆仑数据,锁定首席战略顾问一职