呓语 | 杨英明的个人博客

专注于c++、Python,欢迎交流

By

利用 DPlayer+OSS 在博文中优雅的嵌入视频(基于Django博客)

最近逛博客的时候看到他们在博文中嵌入了视频,播放器无边框、设计简洁、甚至还有弹幕功能,十分好看优雅。分享几个博主的页面:

其实在这之前我还使用过bilibili自带的播放脚本,在视频页面点击分享可以找到,复制到博文中就可以出现一个播放器,点击就可以播放视频,但是这个播放器带B站的广告,还有很多零零碎碎的东西,总之不够简洁。

查看这几个博主的页面才发现他们用的是一款web播放器————DPlayer,是前端大佬 DIYGod 的开源项目。

项目地址:MoePlayer/DPlayer

文档地址:中文文档

看到 DPlayer 简洁的界面和弹幕功能后我简直如获至宝,这就是我心中的理想web播放器呀!

By

Django 自定义装饰器进行登录访问限制

我们在设计网站用户系统的时候,往往需要进行登录访问限制,比如说用户还没有登录的时候,有些网页是不能访问的。

最简单粗暴的办法是,在每个页面的函数最开始加一个 登录验证函数,检查当前用户登录状态:如果已经登陆过,那么继续往下执行;如果用户还没登录,对不起,出门左转到登录页。

在 python 中有个优雅的解决办法——使用 装饰器。Django 中有提供使用装饰器进行登录访问限制的方法,详情可见 django实现用户登陆访问限制@login_required,如果对自己实现这套机制感兴趣的童靴,可以继续往下看。

By

记录一次服务器重新部署的经历(网站、gogs和一些脚本)

前段时间由于手贱在服务器上跑爬虫,开了100个进程,内存和cpu双双达到极限值,第二天起来一看,性能曲线赛高,使用 putty 和网页版 ssh 登录服务器,被拒之门外。于是重启服务器,然后发现启动报错,找阿里云售后工程师,说部分关键文件丢失,这种情况无法正常启动,建议恢复快照…… 无奈,依次尝试恢复快照,结果发现只有一月份的快照是正常的…… 这意味着我没法把系统直接恢复到最近的正常状态,一些服务和程序需要我重新搭建一遍。

心情崩溃…… 好在网站有 自动备份,阿里云也可以 从快照创建磁盘 ,这说明数据没有丢失,不幸中的万幸,然后只要花时间把服务和程序重新搭建起来就可以恢复之前的状态了。

By

基于Django、WeRoBot的微信公众平台开发(二) - 后续

这里是 基于Django、WeRoBot的微信公众平台开发(二) 的后续,主要记录其它功能的开发。

By

基于Django、WeRoBot的微信公众平台开发(二)

上一节,我在一个Django项目中集成了 基于WeRoBot的微信公众号后台,成功与服务器完成了对接,并且可以对用户的任意消息做出响应(回复一个“hello”),简单来说,就是搭建起了一个开发框架。

这一节中,我将继续用 WeRoBot 在这个开发框架上扩展一些功能,让公众号的交互丰富起来,思来想去,我挑了三个相对简单的功能进行实现:简单的聊天功能,天气查询,讲笑话

下面是实现这三个功能的过程和心得记录,分享给大家。

By

基于Django、WeRoBot的微信公众平台开发(一)

* 该教程基于第三方微信公众号开发框架 WeRoBot
* 该教程在已有Django项目上开发,即在已有网站项目中嵌入一个微信公众平台服务
* 你需要有一个VPS/云服务器

今天突发奇想,打算申请一个微信公众账号玩玩,以便同步博客上的一些文章。

由于在学python,于是打算用Python来开发微信公众号的后台。

为了方便开发,我在github上寻找微信公众号开发的框架,最后锁定了 WeRoBot

下面我将用WeRoBot在一个Django网站项目中开发微信公众号的后台。

废话不多说了,我们开始吧!

By

修改博客系统的第三方库

博客系统的运行环境由Django、markdownx、markdown-deux、markdown2等第三方库组成。

在写博客系统的过程中,为了实现自己的意图,我修改了一些第三方库的源代码。

为了以后方便部署,在这里记录一下我修改的地方。

By

搭建网站自动备份机制(crontab+mysqldump+tar+oss)

个人网站在云服务器上部署好了之后,为了防止数据丢失,我们往往需要定期的备份网站的数据。

每次手动去备份太麻烦,我们可以使用 Linux+Python 搭建一个 网站自动备份机制 来自动化、定时的去完成备份工作。

简单来说这个机制可以 定时备份网站数据,并自动将备份文件上传到云上

By

【翻译】Django1.8 中文文档

原文链接:Django documentation

关于Django你需要知道的一些事情。

By

Django网站搭建心得汇总

搭建该网站过程中的心得汇总。

By

博客园文章迁移脚本(xml.sax+mysqldb)

写博客系统的后期需要把之前的文章导入过来,我之前的文章都在博客园上,但是博客园只提供博文导入到有限的第三方博客系统中,这里面肯定不包括我自己写的博客系统,所以我需要自己写一个文章迁移程序。

好在博客园提供博文备份功能,导出的备份文件是 xml格式

所以文章迁移程序要完成两个步骤:

  1. 解析xml文件
  2. 执行sql导入文章

By

Django-markdownx 修改预览页默认CSS样式

在使用django-markdownx的过程中,存在不少问题,比如说这次要讨论的问题:预览页面显示样式和文章发布出去的显示样式不同。

导致这个问题的原因很简单:因为 后台使用的css和前台使用的css不同

在这里我只打算修改后台markdownx预览页的显示样式,让它显示效果和前台的显示效果相同。

By

Django 后台添加more标签识别(自动截取文章简介)

文章发布时,后台有 文章内容文章描述 两个栏目需要填写,文章描述 其实就是文章简介/摘录,用于显示在首页文章列表中。

一开始我在填写这两个栏目时候的做法是,先写文章,然后从文章内容中截取一部分放到文章描述中,另一种做法就是直接将文章标题当做文章描述。

这样很麻烦,于是我想做一个“识别more标签”的功能,即在后台编辑文章时,在合适的地方插入 --more--,点击发布的时候后台会自动将more标签之前的内容截取出来作为文章描述。

By

Django-markdownx 修改默认渲染引擎,支持GFM的```代码块识别

Django-markdownx 是一款django的插件,它用于markdown文档的编写,简单来说,它是一款网页端的markdown编辑器。

Markdownx用起来虽然不错,但是他在一些方面还是有些限制,比如说我想让他支持```代码块识别

By

Django-markdownx 支持gif动态图片上传

Django-markdownx 是一款轻量级的Markdown编辑器,可作为app在django中使用。

我将它安装在了admin后台,用于写文章。

下图是它的使用预览:

By

Django admin 自定义Choice_field

Django admin 自定义Choice_field

By

KindEditor 4.15无法修改默认显示字体大小

KindEditor 4.15无法修改默认显示字体大小