dorian

导航

 

2020年3月9日

摘要: 工程重命名的前提是先停止工程运行。 1 更改工程名 2 更改目录名 3 更改配置目录名 即包含manage.py文件的目录名。 4 进入工程配置 5 删除当前工程 5 新增工程 6 配置工程 7 运行工程,可以看到工程名更改成功! 阅读全文
posted @ 2020-03-09 11:44 dorian 阅读(132) 评论(0) 推荐(0) 编辑
 
摘要: 在Python或Django升级后,如果软件要做相应的升级,则需要重构工程。 1 先在CMD下创建工程 2 复制一份虚拟环境目录 Django的虚拟环境,原则上一个工程一个虚拟环境,如果多个工程共享一个虚拟环境,容易报错。 3 PyCharm打开工程,配置虚拟环境 找到File/Settings/P 阅读全文
posted @ 2020-03-09 11:41 dorian 阅读(176) 评论(0) 推荐(0) 编辑
 
摘要: 用户授权包括几个步骤: 1)弹出登录页面,不提供单独的接口,用户访问其它页面时,如果没注册,则直接进入登录页面。 需要注意的是:如果用户在公众号里访问其它页面,弹出登录页面时,会自动获取用户的微信信息,如头像、openid等。后端把这些用户信息一并发送到前端。如果用户在电脑浏览器上访问网页,则不获取 阅读全文
posted @ 2020-03-09 11:40 dorian 阅读(223) 评论(0) 推荐(0) 编辑
 
摘要: 本项目的通用工具都存放在GeneralTools目录下,主要包括以下内容: 01 更改JWT Token交接方式(Authentication.py) 按JWT官方要求,JWT Token必须前端携带在Header提交。这样提交更安全,但前端每次提交数据请求的时候,都必须去获取Token,然后包装在 阅读全文
posted @ 2020-03-09 11:39 dorian 阅读(190) 评论(0) 推荐(0) 编辑
 
摘要: 定时触发任务的步骤如下: 1 在settings.py中增加APP INSTALLED_APPS = [ # ... 'django_celery_results', 'django_celery_beat', ] 2 在settings.py中修改结果存储 为了更直观的看到定时任务的效果,结果暂时 阅读全文
posted @ 2020-03-09 11:37 dorian 阅读(241) 评论(0) 推荐(0) 编辑
 
摘要: 程序中的任务主要有两类需求: 一是视图触发任务:就是当更新一个数据时,需要对其它数据进行汇总,而且汇总的数据量大,这时候,需要分为两个进程来处理,一个进程是把数据更新后返回前端,二个进程是执行汇总任务。所谓视图触发任务,就是只有在需要的时候,根据条件去触发任务。 二是定时触发任务:就是规定确定的时间 阅读全文
posted @ 2020-03-09 11:35 dorian 阅读(248) 评论(19) 推荐(0) 编辑
 
摘要: 1 获取短信发送参数 1.1 登录腾讯云,获取腾讯云短信开发者ID(AppID)和开发者密码(AppKey) 1.2 设置并注册短信模板,获取模板号 1.3 在GeneralTools目录下创建一个Constants.py文件,用于保存运行常量。内容如下: """ 腾讯云短信相关常量设置 """ # 阅读全文
posted @ 2020-03-09 09:53 dorian 阅读(323) 评论(0) 推荐(0) 编辑
 
摘要: 一般情况下,在公众号里的菜单或绑定url的文字图片等,就是点击需要跳转到我们编写的网页上去的时候,直接绑定接口的外网访问地址就可以了。也就是说,在浏览器怎么访问,在微信里还是怎么访问。 但在微信里,如果没有域名,会弹出提示页面,要求用户绑定域名。 微信的网页授权登录,主要是针对登录页面,要验证用户身 阅读全文
posted @ 2020-03-09 09:51 dorian 阅读(299) 评论(0) 推荐(0) 编辑
 
摘要: 带参二维码是微信公众号用来管理用户的重要手段。 如果根据客户ID生成带参二维码,那么,当另一个客户扫描这个二维码时,公众号就能够接收到这个参数,并把这个参数设置为客户的上线。以此类推,可以把客户来源全部理清楚,有很大的商业价值。 如果根据组织ID生成带参二维码,就可以自动知道客户来源于什么组织。 总 阅读全文
posted @ 2020-03-09 09:49 dorian 阅读(202) 评论(0) 推荐(0) 编辑
 
摘要: 微信菜单分为自定义菜单和个性化菜单,所谓自定义菜单,是所有用户看到相同的菜单,而个性化菜单,则表示根据不同用户看到不同的菜单。或者相同的菜单,不同的用户使用不同的效果。 微信个性化菜单包含于自定义菜单,是一种特殊的自定义菜单。 编写自定义菜单,首先得要获取点击菜单后跳转的网址,点击菜单后,才能够确定 阅读全文
posted @ 2020-03-09 09:47 dorian 阅读(272) 评论(0) 推荐(0) 编辑
 
摘要: 微信公众号根据不同的用户提供标签管理,给用户贴上标签,类似用户分组,为不同的用户提供个性化服务。 如:企业管理中,不同角色看到的菜单不同,不同客户享受的优惠和赠送的礼品不同。这些,都需要标签管理。 在Applications/Wechat/views下创建一个文件,名为:WechatTag.py,用 阅读全文
posted @ 2020-03-09 09:42 dorian 阅读(288) 评论(0) 推荐(0) 编辑
 
摘要: 微信公众号要求用户对所有的请求都要携带AccessToken,wechatpy对于微信AccessToken会自动内部处理,一般单线程的情况下开发者不需要手动去操作,但是多线程情况下,必须使用持久化存储。 wechatpy下,开发者一般不需要访问AccessToken,如果需要,可以通过wechat 阅读全文
posted @ 2020-03-09 09:30 dorian 阅读(298) 评论(0) 推荐(0) 编辑
 
摘要: 微信收到消息和事件后,可以自动回复。回复类型大致包括文本回复、图片回复、语音回复、视频回复、音乐回复、图文回复。 文本回复和图文回复,直接就可以回复,而其它回复是媒体回复,需要先上传媒体文件,获取媒体文件的media_id,然后,再调用media_id做出回复。 故本文先学习文本回复和图文回复。 在 阅读全文
posted @ 2020-03-09 09:29 dorian 阅读(331) 评论(0) 推荐(0) 编辑
 
摘要: 有了测试账号之后,我们该做什么呢?当然是接收来自于微信的消息和事件。 公众号接收用户消息分为七类,包括文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息、链接消息。 公众号接收用户事件分为五类,包括关注事件、取消事件、扫描带参数二维码事件、上报地理位置事件、自定义菜单事件。 当公众号接 阅读全文
posted @ 2020-03-09 09:28 dorian 阅读(415) 评论(0) 推荐(0) 编辑
 
摘要: 微信第三方开发工具较多,此处我们用wechatpy 01 获取并设置参数 登录公众号,拉到最下面,找到开发/基本配置页面: 01.1 在公众号开发信息中,获取开发者ID(AppID)和开发者密码(AppSecret)。 01.2 点击服务器配置下的修改配置,在Token中填入3-32个任意字符。 t 阅读全文
posted @ 2020-03-09 09:27 dorian 阅读(326) 评论(0) 推荐(0) 编辑
 
摘要: DRF提供了异常处理函数。 但工程中实际上需要有数据库异常,所以,需要重写exception_handler函数。 1 在GeneralTools目录下创建名为Exceptions.py文件(该文件在之前工程配置中已创建),内容如下: from rest_framework.views import 阅读全文
posted @ 2020-03-09 09:26 dorian 阅读(202) 评论(0) 推荐(0) 编辑
 
摘要: DRF提供了分布支持 1 全局分页 DRF全局分页,只需要在配置文件中按以下方式配置就可以了。不需要代码更改。 REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination 阅读全文
posted @ 2020-03-09 09:25 dorian 阅读(133) 评论(0) 推荐(0) 编辑
 
摘要: 对于列表数据,REST framework提供了OrderingFilter过滤器来排序,可以快速指定排序字段。 找到Applications/Examples/views/School.py文件最后一个类。 在filter_backends中增加排序过滤器。代码如下: from rest_fram 阅读全文
posted @ 2020-03-09 09:23 dorian 阅读(244) 评论(0) 推荐(0) 编辑
 
摘要: 对于列表数据,可能需要根据字段进行过滤,DRF可以通过添加django-filter来增强支持。 1 安装django-filter(已安装) 2 在配置文件中增加过滤后端的设置。 INSTALLED_APPS = [ ... 'django_filters', # 需要注册应用, ] REST_F 阅读全文
posted @ 2020-03-09 09:22 dorian 阅读(297) 评论(0) 推荐(0) 编辑
 
摘要: DRF可以对接口访问的频次进行限制,以减轻服务器的压力。 1 在配置文件中,使用DEFAULT_THROTTLE_CLASSES和DEFAULT_THROTTLE_RATES进行配置。 1.1 可选限流类 DEFAULT_THROTTLE_CLASSES参数用于设置可选限流类,主要有三类 AnonR 阅读全文
posted @ 2020-03-09 09:21 dorian 阅读(254) 评论(0) 推荐(0) 编辑