基于Python3.8.1和Django3.03当前最新版框架。
-
美文欣赏
摘要:一次简单而隆重的同学会 彭应钦 2020年7月中旬,笔者作为受邀嘉宾参加了一次同学会,印象颇深。 一个星期前,倡议者和组织者就开始筹办并发微信要求同学报名。40年不容易啊!同学们都踊跃参加。黄秀萍同学专程从成都赶来,邓波同学与别人调班,从事餐饮业的朱国军同学请人接替,罗琼同学的外孙实在找不到人照看,
阅读全文
-
0046 工程重命名
摘要:工程重命名的前提是先停止工程运行。 1 更改工程名 2 更改目录名 3 更改配置目录名 即包含manage.py文件的目录名。 4 进入工程配置 5 删除当前工程 5 新增工程 6 配置工程 7 运行工程,可以看到工程名更改成功!
阅读全文
-
0045 重构工程(python django升级)
摘要:在Python或Django升级后,如果软件要做相应的升级,则需要重构工程。 1 先在CMD下创建工程 2 复制一份虚拟环境目录 Django的虚拟环境,原则上一个工程一个虚拟环境,如果多个工程共享一个虚拟环境,容易报错。 3 PyCharm打开工程,配置虚拟环境 找到File/Settings/P
阅读全文
-
0044 用户授权
摘要:用户授权包括几个步骤: 1)弹出登录页面,不提供单独的接口,用户访问其它页面时,如果没注册,则直接进入登录页面。 需要注意的是:如果用户在公众号里访问其它页面,弹出登录页面时,会自动获取用户的微信信息,如头像、openid等。后端把这些用户信息一并发送到前端。如果用户在电脑浏览器上访问网页,则不获取
阅读全文
-
0043 工程通用工具编写
摘要:本项目的通用工具都存放在GeneralTools目录下,主要包括以下内容: 01 更改JWT Token交接方式(Authentication.py) 按JWT官方要求,JWT Token必须前端携带在Header提交。这样提交更安全,但前端每次提交数据请求的时候,都必须去获取Token,然后包装在
阅读全文
-
0042 django_celery任务处理(02 定时任务)
摘要:定时触发任务的步骤如下: 1 在settings.py中增加APP INSTALLED_APPS = [ # ... 'django_celery_results', 'django_celery_beat', ] 2 在settings.py中修改结果存储 为了更直观的看到定时任务的效果,结果暂时
阅读全文
-
0041 django_celery任务处理(01 视图任务)
摘要:程序中的任务主要有两类需求: 一是视图触发任务:就是当更新一个数据时,需要对其它数据进行汇总,而且汇总的数据量大,这时候,需要分为两个进程来处理,一个进程是把数据更新后返回前端,二个进程是执行汇总任务。所谓视图触发任务,就是只有在需要的时候,根据条件去触发任务。 二是定时触发任务:就是规定确定的时间
阅读全文
-
0040 腾讯云短信发送
摘要:1 获取短信发送参数 1.1 登录腾讯云,获取腾讯云短信开发者ID(AppID)和开发者密码(AppKey) 1.2 设置并注册短信模板,获取模板号 1.3 在GeneralTools目录下创建一个Constants.py文件,用于保存运行常量。内容如下: """ 腾讯云短信相关常量设置 """ #
阅读全文
-
0039 微信公众平台开发 (08 获取网页授权)
摘要:一般情况下,在公众号里的菜单或绑定url的文字图片等,就是点击需要跳转到我们编写的网页上去的时候,直接绑定接口的外网访问地址就可以了。也就是说,在浏览器怎么访问,在微信里还是怎么访问。 但在微信里,如果没有域名,会弹出提示页面,要求用户绑定域名。 微信的网页授权登录,主要是针对登录页面,要验证用户身
阅读全文
-
0038 微信公众平台开发 (07 带参二维码)
摘要:带参二维码是微信公众号用来管理用户的重要手段。 如果根据客户ID生成带参二维码,那么,当另一个客户扫描这个二维码时,公众号就能够接收到这个参数,并把这个参数设置为客户的上线。以此类推,可以把客户来源全部理清楚,有很大的商业价值。 如果根据组织ID生成带参二维码,就可以自动知道客户来源于什么组织。 总
阅读全文
-
0037 微信公众平台开发(06 公众号自定义菜单)
摘要:微信菜单分为自定义菜单和个性化菜单,所谓自定义菜单,是所有用户看到相同的菜单,而个性化菜单,则表示根据不同用户看到不同的菜单。或者相同的菜单,不同的用户使用不同的效果。 微信个性化菜单包含于自定义菜单,是一种特殊的自定义菜单。 编写自定义菜单,首先得要获取点击菜单后跳转的网址,点击菜单后,才能够确定
阅读全文
-
0036 微信公众平台开发(05 用户标签管理)
摘要:微信公众号根据不同的用户提供标签管理,给用户贴上标签,类似用户分组,为不同的用户提供个性化服务。 如:企业管理中,不同角色看到的菜单不同,不同客户享受的优惠和赠送的礼品不同。这些,都需要标签管理。 在Applications/Wechat/views下创建一个文件,名为:WechatTag.py,用
阅读全文
-
0035 微信公众平台开发(04 获取和存储AccessToken)
摘要:微信公众号要求用户对所有的请求都要携带AccessToken,wechatpy对于微信AccessToken会自动内部处理,一般单线程的情况下开发者不需要手动去操作,但是多线程情况下,必须使用持久化存储。 wechatpy下,开发者一般不需要访问AccessToken,如果需要,可以通过wechat
阅读全文
-
0034 微信公众平台开发(03 回复文本和图文消息)
摘要:微信收到消息和事件后,可以自动回复。回复类型大致包括文本回复、图片回复、语音回复、视频回复、音乐回复、图文回复。 文本回复和图文回复,直接就可以回复,而其它回复是媒体回复,需要先上传媒体文件,获取媒体文件的media_id,然后,再调用media_id做出回复。 故本文先学习文本回复和图文回复。 在
阅读全文
-
0033 微信公众平台开发(02 接收微信消息和事件)
摘要:有了测试账号之后,我们该做什么呢?当然是接收来自于微信的消息和事件。 公众号接收用户消息分为七类,包括文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息、链接消息。 公众号接收用户事件分为五类,包括关注事件、取消事件、扫描带参数二维码事件、上报地理位置事件、自定义菜单事件。 当公众号接
阅读全文
-
0032 微信公众平台开发(01 成为微信开发者)
摘要:微信第三方开发工具较多,此处我们用wechatpy 01 获取并设置参数 登录公众号,拉到最下面,找到开发/基本配置页面: 01.1 在公众号开发信息中,获取开发者ID(AppID)和开发者密码(AppSecret)。 01.2 点击服务器配置下的修改配置,在Token中填入3-32个任意字符。 t
阅读全文
-
0031 DRF框架开发(18 异常Exceptions)
摘要:DRF提供了异常处理函数。 但工程中实际上需要有数据库异常,所以,需要重写exception_handler函数。 1 在GeneralTools目录下创建名为Exceptions.py文件(该文件在之前工程配置中已创建),内容如下: from rest_framework.views import
阅读全文
-
0030 DRF框架开发(17 分页Pagination)
摘要:DRF提供了分布支持 1 全局分页 DRF全局分页,只需要在配置文件中按以下方式配置就可以了。不需要代码更改。 REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination
阅读全文
-
0029 DRF框架开发(16 OrderingFilter过滤器排序)
摘要:对于列表数据,REST framework提供了OrderingFilter过滤器来排序,可以快速指定排序字段。 找到Applications/Examples/views/School.py文件最后一个类。 在filter_backends中增加排序过滤器。代码如下: from rest_fram
阅读全文
-
0028 DRF框架开发(15 django-filter过滤)
摘要:对于列表数据,可能需要根据字段进行过滤,DRF可以通过添加django-filter来增强支持。 1 安装django-filter(已安装) 2 在配置文件中增加过滤后端的设置。 INSTALLED_APPS = [ ... 'django_filters', # 需要注册应用, ] REST_F
阅读全文