用pycharm搭建django框架来接收微信小程序的图片

上一篇:微信云开发实现每个用户在云端上传并且下载自己对应的图片

链接: https://blog.csdn.net/qq_44933075/article/details/107735724.

四、搭建Django环境

4.1更改pip的镜像源

由于我们在djamgo工程中用到的第三方库比较多,用自带的国外源会因为网络波动啊,下载东西不成功,所以把pip源换成国内的源下载速度就很快了 具体操作步骤如下

1.打开我的电脑在上方的路径上查找 %HOMEPATH%
2.然后新建文件夹pip

3.在pip文件夹里新建pip.ini文件右击记事本打开
4.右击记事本打开 写入

[global]
index-url =  http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com


这里我们用的阿里的镜像源也可以更改其他的国内镜像,不推荐豆瓣源,bug比较多。

4.2安装虚拟环境

安装虚拟环境很有必要的它可以防止多个项目进行互串,而且把主机和虚拟环境有些分开来方便管理
第一步、先自己在任意地方建一个文件夹virtualenv,路径位置要自己记住接着打开win+r 输入cmd打开管理器界面

第二步、cd到刚刚创建virtualenv文件夹的路径我的是这样的

cd G:\code\virtualenv

第三步 安装虚拟环境库virtualenv
pip install virtualenv
如果下载速度很慢就回头看1.1更改pip镜像源

安装完成后 创建一个虚拟环境的文件名称l_env(自定义名称) 输入命令
python -m venv l_env

这时我们的virtualenv文件件就生成了一个l_env文件夹,里面会是这样的


最后一步、激活环境 cd到virtualenv文件l_env下的scripts文件夹下 输入关键字
activate

为了方便可以把virtualenv文件l_env下的scripts文件夹设为环境变量

4.3安装django框架

第一步、打开cdm输入命令

pip install dijango

pip install django为默认最新的版本,如果失败了也可以指定版本,由于我们用了国内源所以速度很快,如果下载速度很慢就回头看1.1更改pip镜像源

指定版本安装

pip install django==版本号

如果装错了就卸载一下再安装:

pip uninstall django==版本号

然后找到自己电脑python的安装路径 ,可以右击python程序属性,打开文件所在地找到对应的路径


再找到 Lib\site-packages\django\bin,我们在site-packages文件下看到djano文件夹说明已经安装成功了

第二步、将 python路径\Lib\site-packages\django\bin 设为环境变量,我的路径为
C:\Users\ASUS\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\django\bin

以win10为例子,先新建以理解名字叫 django

再打开编辑path路径 选择新建 输入%django%

设置完后打开cmd
输入 django-admin.py


django就设置成功了

4.4配置数据库

这时候我们打开pycharm 软件新建new project选django


这里的路径选我们自己创建的虚拟环境,选择在新建django项目的时候就会默认在这个文件夹下

最后点击创建

因为要安装很多东西时间比较长,所以我们慢慢等待

最后显示这样表示成功了,因为网络问题后面会加载出一个

这时候打开
搜索sqlparse第三方库进行安装

回到我们项目里打开底部的terminal里输入python或者python3看看哪个能不能检测出来,我的是python检测出来创建命令就用python就好了(前提是你之前装的python已经设为环境变量,)
这时候不能输入命令,因为检测完python后默认到python里了无法操作本django的命令,所以要关闭再次打开local,保证前缀为不空为虚拟环境的路径输入

python manage.py migrate

如何报错这个错的话,是所没有导入os点击报错的蓝色字体进入57行


光标点到os上 按键盘alt+enter(回车键) 会出来import os 点击确认就好了,同理其他报错时 可以按alt+enter来调出系统的解决方案

这时候我们再 输入 python manage.py migrate,系统的数据库就安装好了

我们项目管理器的就会出现db.sqlite3,数据库就创建成功了

4.5启用djano服务

这时候我们要启动服务 ,manage.py时django的主入口 127.0.0.1为本地的路径,:8000为端口 端口可以自定义默认为8000

 python manage.py runserver 127.0.0.1:8000


点击蓝色的地址会跳转到django页面,
同理打开自己浏览器也输入127.0.0.1:8000 也会跳出django页面

为了方便下次使用我们要在run菜单下选edit configurations
在parameters里输入runserver 127.0.0.1:8000,则下次运行就会进入本地路径了

这样一个基础的django就创建好了

五、配置django框架

5.1配置app

我自己又新建了s1工程 之后发现,默认就是我们上一次选的虚拟环境了,同样的,我们创建的第二个虚拟环境会迭代使用第一次的虚拟环境里的库,但两个是分开的个体,这也是虚拟环境的好处。同样的,每当我们建造新的djano项目的时候,只用进行runserver进行启用服务就可以了

输入 “python.manage.py startapp app1” 其中app1为名字可以自定义

工程管理器出现了app1文件夹,里面有很多配置文件,urls为自己新建的py文件后续会用到

同时要去s1的seting里INSTALLED_APPS里注册app不然无法使用的

5.2配置templates模板

在安装的过程中有时会出现templates模板没有导入的出现的情况
就要在项目根目录下创建文件夹templates与manage.py同级

也要去set里添加路径 , 在‘DIRS’:[] 中加入
os.path.join(BASE_DIR, ‘templates’) ,
BASE_DIR为当前工程路径

5.3了解django模式


Django是MTV模式,为了各组件之间保持松耦合关系。
Model(模型):负责业务对象与数据库的对象(ORM)-------M
Template(模版):负责如何把页面展示给用户--------T
View(视图):负责业务逻辑,并在适当的时候调用Model和Template-------V
Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template(模板)

接下来我们看一下对应的文件各有什么功能,这是我在网上找到一直说明比较详细的的图片

六、django与小程序建立请求

整体思路是小程序通过发送请求到本地127.0.0.1:8000然后django获取请求,将图片保存到本地

6.1小程序和django设置

中间经过了很漫长的尝试,如果要让django接收小程序的照片,要设置一些地方不然是无法成功的。
在django端
在djaingo的seting的AllOWED_HOSTS中添加 ’*‘ 意思这个是服务器绑定的地址要设为任意,不然无法接收

另外还有注释掉seting里的MIDDLEWARE里的这句话#‘django.middleware.csrf.CsrfViewMiddleware’,
这句话就类似于两边通信需要的密钥,是django的保护机制

小程序端 在开发着工具里有个本地测试,把不校验合法域名勾选是。这个是小程序访问的域名检测,如果要发布上线的话,需要去小程序网页端指定域名发布,这里先关掉,不然无法访问本地

6.2小程序上传照片django框架(代码)

小程序端
在chooseimage接口函数调用成功的里面加入 wx.uploadFile({})接口,
带上opid 操作类型 编码等参数向目标网站发送请求数据

wx.chooseImage({count: 1,sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有success: function (res) {// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片const tempFilePaths=res.tempFilePathsconsole.log(tempFilePaths)console.log(that.data.openid)wx.uploadFile({filePath:tempFilePaths[0],  //文件路径name: 'image',url: 'http://127.0.0.1:8000/get_image',  //访问的页面路径method:'POST',  //操作的类型header:{'content-type':'application/x-www-form-urlencoded'   //浏览器默认编码格式},formData:{openid:that.data.openid    //附加信息有opid},

django端的views.py,判断是否有POST请求,如果有请求就用opid变量来存储传来过来的opid作为文件名,把请求过来的图片编码的二进制写入到本地磁盘下

def get_image(request):if request.method == "POST":image=request.FILES['image']print(image)open_id=request.POST.get('openid')basedir= os.path.dirname(__file__)  #获取当前路径的上一级 极为s1path=basedir+'/static/image/'if not os.path.exists(path+open_id+'.jpg'):  #如何不为空with open(path+open_id+'.jpg','wb')as f:  #转为二进制写入f.write(image.read())f.closedreturn  HttpResponse('上传成功')else:return HttpResponse('上传失败')

当从小程序端上传图片的时候 这时候django后台就接收到了小程序传了图片


下一篇 :小程序接收django处理完的图片
链接: https://blog.csdn.net/qq_44933075/article/details/108064797.

《微信小程序-证件照换底色》之二:用pycharm搭建django框架来接收微信小程序上传的图片相关推荐

  1. 《微信小程序-证件照换底色》之三:微信小程序接收django的图片并部署到windows服务器上

    实现小程序接收django的图片并部署到windows服务器上 继上一篇:用pycharm搭建django框架接收微信小程序的图片后续 链接: https://blog.csdn.net/qq_449 ...

  2. 微信小程序--证件照换底色UI及前端页面修改+札记与贺卡图片整理

    札记与贺卡 主要是进行所需要的海报的选择,修改和收集.因为是一个模板类的小程序,用户选择我们设定的模板之后,进行文字的添加,所以我们这边模板的多样性很重要,也因为是双节比较特别,就收集了各类的模板海报 ...

  3. 微信小程序--证件照换底色项目前端修改+头像框项目前端页面实现修改

    证件照换底色 主要进行后端所需功能的增加,尺寸选择功能的增加,颜色选择功能样式修改,版权问题导致的ui修改和所需ui的设计. 跳转前按钮判断 在点击开始转换图片进行跳转之前,判断用户是否已经进行授权, ...

  4. 《微信小程序-证件照换底色》之四:完善证件照处理项目

    完善证件照处理项目 一.更换后台程序 因为原来的后台处理需要经费,所以我们改用百度AI进行证件照处理 首先我们导入百度云扣图的第三方库 打开我们的python的Terminal的输入 pip inst ...

  5. 我的小程序新增了证件照换底色功能

    点击上方蓝字"优派编程"选择"加为星标",第一时间关注原创干货 原文地址 http://wp.fang1688.cn/study/646.html 我的小程序新 ...

  6. django实现证件照换底色后端和小程序(第三周学习记录)

    第三周学习记录 继续上周的django后台搭建,经过讨论选择不使用mysql数据库存储用户上传证件照信息,直接通过base64转码的形式在后台处理并返回前端直接通过数据流预览并实现图片下载 一.后端获 ...

  7. 用Matlab搞了个小工具,以后给你女朋友的证件照换底色再也不用发愁了

    证件照换底色这件事在生活中并不是很频繁,然而,当你手上只有一种底色的照片,遇到找工作,填表或者在线上传某种要求必须为指定底色的证件照时,却又很重要. 我想更重要的莫过于,有一天你的女朋友突然要你给她的 ...

  8. c#实现超实用的证件照换底色小工具

    1前言     我们在工作和生活中经常要填写一些个人资料,这时候往往需要放证件照上去,但是有时候人家要求是红底或白底,但是偏偏不巧的是你以前照了张蓝底的.这时候你想换个底色,于是在百度上一搜" ...

  9. java面试换背景颜色_证件照换底色 证件照换背景 证件照背景颜色

    很多人都不知道怎么让证件照换底色,如果单位要求要红底证件照,而你手里只有蓝底的,怎么办?下面小编就来教你,怎么给证件照换底色换背景颜色. 小美智能证照小程序可以在线拍摄制作证件照,还支持证件照换底色, ...

最新文章

  1. 前言、Python是真的火,还是炒得火?来看看它的前世和发展
  2. Mybatis注解开发(一对一)
  3. 彻底卸载WinStdup
  4. 插值法补齐缺失数据_数据挖掘非常重要的一步:数据预处理
  5. 谈一谈Oracle11gR2的审计管理
  6. GCC编译器的使用方法
  7. Xamarin.Forms入门学习路线
  8. 如何用PHP完整的开发一个网站?
  9. ES(三)es查询语法
  10. 【期末复习】转眼到了C++的复习时间(更新中)
  11. 启动BIOS的虚拟化设置 | 开启CPU虚拟化支持
  12. 每日一题@61存在重复元素
  13. 物联网智能家居项目总结(全)
  14. 基于Python实现的钢筋数量识别
  15. NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等
  16. Csharp 判断UNICODE字符是否属于汉字
  17. 史上最详细网络基础知识
  18. 如何减少压力--重塑心灵
  19. 支付宝支付 沙箱测试
  20. 关于迁移的问题:偏好设置从旧mac迁移(导入)到新电脑中

热门文章

  1. PCL学习笔记3-KdTree
  2. MinIO客户端(mc命令)实现数据迁移
  3. 【定位问题】基于matlab chan算法、fang算法、taylor算法求解目标定位问题【含Matlab源码 2135期】
  4. 阿昆同学的Java学习日记Day4
  5. win10商店打不开_win10 64位系统打不开美图秀秀是啥原因呢
  6. python 读取asc文件_Python——文件读取与写入
  7. FPGA的学习:基于ROM的VGA图像显示(弹跳特效)
  8. A-Level经济真题每期一练(19)
  9. 《深入浅出WPF》系列视频(特辑)——MVVM入门与提高(难度300+)
  10. css实现立体感按钮