博客相关
Qexo添加点赞功能
前言在刚开始玩静态博客的时候,就对静态博客缺失这个功能很失落,现在终于是有机会将它加到自己的静态博客中了,当然这缺少不了qexo,还得是有个后端会好很多呀。 预览效果效果如下: 创建后台界面创建 templates\home\post_like.html 文件,代码内容如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561 ...
博客相关
Qexo入门之多线程发送邮件
前言前些天测试订阅邮件发送,每次发送订阅邮件,都报错504,我就想,没理由呀,我也设置了超时时间,为啥会这样呢,结果等我排查到vercel的log的时候我明白了,原来是因为vercel的普通用户只是默认支持一个请求的超时时间为10秒,详细请看这里vercel说明文档。所以我只能将它改成多线程的模式来操作了,不阻塞主线程请求返回就行,只要保证邮箱的正确,接下来就交给接口了。下面就教小伙伴们如何在qexo中使用python的多线程threading模块。 增加Email设置找到 core\settings.py 文件,在文件末尾添加如下代码: 123456789# 固定写法设置Email引擎EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.qq.com' # 腾讯QQ邮箱 SMTP 服务器地址 # EMAIL_PORT = 25 # SMTP服务的端口号 EMAIL_PORT = 465 # SMTP服务的端口号 EMAIL_HOST_USE ...
博客相关
Qexo入门之自定义数据库
前言魔改后端肯定缺少不了数据库的的操作,在qexo中有个数据库操作框架,叫做ORM框架,是做来抹平python与数据库操作之间的繁琐操作,提供统一的操作接口。这篇文章就说一下怎么自定义一个计数用的数据库,后续读者们可以任意去做自己想要的扩展。因为涉及到数据库操作,所以操作数据库的api我们需要做成私有的api。然后我们再做一个模板用来展示数据库中的计数值,这需要制作一个页面来展示计数值。 预览效果效果如下: 创建自定义数据库找到 hexoweb\models.py 文件,在文件末尾添加自定义数据库如下: 123class CountModel(models.Model): id = models.IntegerField(primary_key=True, editable=False) cnt=models.IntegerField(default=0) 创建自定义私有api找到 hexoweb\api.py 文件,在文件的末尾添加私有api方法: 123456789101112131415161718192021222324252627from hexoweb.mod ...
博客相关
即刻短文支持多个链接与视频
前言前段时间,使用即刻短文发短文,想附加几个链接,发现即刻短文不支持,所以自己参考一下源码修改了一下,让即刻短文支持了附加多个链接。过了几天,正好看到有小伙伴研究出了怎么给即刻短文附加视频,还发了文章教程,所以顺便也给博客的即刻短文添加了支持视频的附加。 预览效果效果如下: 修改pug文件找到 themes\butterfly\layout\includes\page\essay.pug 文件,做如下的修改来支持配置文件配置视频和多个链接: 12345678910111213141516171819202122232425262728293031323334 if item.image .bber-container-img each iten, indey in item.image a.bber-content-img(href=item.image[indey], target="_blank", data-fancybox="gallery", data-caption="&q ...
博客相关
Qexo入门之自定义私有api
前言昨天去上海出差了,公干完后跟着公司去了迪斯尼玩了一圈,不得不说,迪斯尼的那个巡演很棒,全都是迪斯尼IP的人物,看的激动坏了!因为心系博客的文章更新,所以当天晚上就买了机票飞回来了,今天咱就说说怎么自定义一个私有的api,意思就是自己用的,通过登录验证的用户才能使用的api。qexo在部署运行后会自动生成一个api key,这个api key是在鉴权时使用的,现在还用不到,但是后面会用到,所以现在先自定义个一个私有的api来获取这个key的值,看看这个值的内容是啥,方便后面使用这个key。 预览效果效果如下图: 定义并实现私有api找到 hexoweb\api.py 文件,在文件末尾添加内容如下: 123456+# 获取api key+@login_required(login_url="/login/")+def get_apikey(request):+ msg = SettingModel.objects.get(name="WEBHOOK_APIKEY").content+ context = {"msg ...
博客相关
Qexo入门之自定义对公api
前言对公api,顾名思义,就是提供出来给所有人都能使用的api,那咱们今天就自定义一个给别人获取网页的一个api好了(因为自定义涉及数据库的api会牵扯到锁的概念,本篇从简)。 预览效果效果如下: 定义并实现对公api找到 hexoweb\pub.py 文件,在文件最末尾的地方添加如下代码: 123456+# 获取网页+@csrf_exempt+def gethtml(request):+ t=loader.get_template('home/showhtml.html') + html=t.render({'name':"Shine"}, request) #以字典形式传递数据并生成html+ return HttpResponse(html) 找到 hexoweb\pub.py 文件,在开头处找到如下代码并修改: 12-from django.http import JsonResponse+from django.http import HttpResponse, JsonR ...
博客相关
Qexo入门之如何新建侧边栏入口及页面
前言虽然现在有点晚了,但是想了一下,qexo的新建页面还是挺简单的,所以从床上爬起来把这篇文章给写(水🤪)了。 预览效果效果如下: 创建html模板新建 templates\home\test.html 文件,添加内容如下: 1234567891011{% extends 'layouts/base.html' %}{% block content %} <p>hello world!</p> <p>{{ hi }}</p> {% include "includes/footer.html" %}{% endblock content %}<!-- Specific JS goes HERE -->{% block javascripts %}{% endblock javascripts %} 添加侧边栏的 ...
博客相关
Qexo入门之本地部署教程
前言相信很多小伙伴都想自己魔改一下qexo,我最近跑通了qexo的本地部署调试,所以发一篇文说一下过程。最近也是捣鼓qexo比较多,所以hexo方面的魔改有所耽误,观众老爷们多多见谅。而且这些天不单止想着qexo,脑子里也在组织着开源期刊的内容,嘻嘻! 准备Qexo项目首先得将qexo项目拉下来,打开cmd命令行,cd到你的工作目录,输入下面命令拉取项目: 1git clone https://github.com/Qexo/Qexo.git && cd Qexo 配置Qexo项目为本地部署模式在 manage.py 的同级目录下创建并修改 configs.py 文件,创建后,当前目录如下: 1234567891011121314151617181920212223242526272829303132E:\Qexo>tree 卷 新加卷 的文件夹 PATH 列表 卷序列号为 F271-B191 E:. ├─.github │ └─ISSUE_TEMPLATE ├─.gitignore ├─core ├─hex ...
问题笔记
即刻短文的音乐不显示
前言总会在添加一些东西之后,出现一些奇奇怪怪的bug,比如今天更新完新功能后就看到即刻短文中的音乐不显示了。 问题现象在添加完全局音乐和音乐页面之后,查看了一下即刻短文中的音乐能不能正常播放,结果看到即刻短文里的音乐不显示了。 问题分析因为我将meting换成了meting2,所以在即刻短文中,也需要使用meting2,不然就会报错,然后就会导致不显示了。 解决方案找到themes\butterfly\layout\includes\page\essay.pug文件,修改如下: 123456789101112if item.image.bber-container-img each iten, indey in item.image a.bber-content-img(href=item.image[indey], target="_blank", data-fancybox="gallery", data-caption="") img(src=item.image[indey]) .bbe ...
博客相关
twikoo评论的气泡美化
前言应小伙伴要求,出一篇(水一篇🤪)twikoo评论气泡的美化教程。 预览效果如下图: 新建css样式新建source\css\twikoo.css文件,内容如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374/* 设置文字内容 :nth-child(1)的作用是选择第几个 */.el-input.el-input--small.el-input-group.el-input-group--prepend:nth-child(1):before { content: '输入QQ号会自动获取昵称和头像🐧';}.el-input.el-input--small.el-input-group.el-input-group--prepend:nth-child(2):before { content ...













