读《用 Django + Nuxt 实现美食分享网站》有记
读《用 Django + Nuxt 实现美食分享网站》有记
原文链接:[全栈“食”代:用 Django + Nuxt 实现美食分享网站(上) - 知乎 (zhihu.com)]
注意:此文章作者为知乎一只图雀 - 知乎 (zhihu.com),此处摘录为其文章全栈“食”代:用 Django + Nuxt 实现美食分享网站(上) - 知乎 (zhihu.com),本文仅对原文教程添加部分记录和摘要以及记录部分学习过程中的问题。请前往原文地址支持原作者🙂。
预备知识
本教程假定你已经知道了
基本的 Python 3 语言知识,包括使用 pip 安装包
Django 框架的基础概念(MTV 架构),可参考这篇教程进行学习
Vue 的基础概念,以及用 npm 工具链的使用,可参考这篇教程
前后端分离的基本概念,包括前端如何通过发起 HTTP(S) 请求从后端获取数据
学习目标
学完这篇教程后,你将:
了解用 pipenv 工具管理 Python 依赖
学会用 Django REST Framework 快速开发 REST API
学会用 Nuxt 框架快速开发 SPA(单页应用),能 ...
CF workers vless永久免费节点搭建
部署
进入cloudflare创建workers
然后进入你的代码编辑页面,粘贴下方代码。
需要改动以下内容
userID
此为vless鉴定用户的id,需自行生成并替换。
proxyIPs
代理服务器的域名或IP地址,即利用哪些可以的cloud flare反代。
123456const proxyIPs = [ "workers.cloudflare.cyou", "cdn.xn--b6gac.eu.org", "cdn-all.xn--b6gac.eu.org", "edgetunnel.anycast.eu.org"];
cn_hostnames
在代码最后部分,表示伪装域名
查看部署情况
如图,Subdomain是你的子域,如果你的workers为vless,那么对应地址即为vless.username.workers.dev
访问该地址即显示伪装域名(cn_hostnames)对应页面
在伪装域名后添加之前输入的userid即可看到代理信息。
自定义域名开启T ...
css笔记
基本属性
color - 设置元素的前景色,通常是指文本颜色。
background-color - 设置元素的背景颜色。
font-family - 设置文本的字体系列。
font-size - 设置文本的字体大小。
font-weight - 设置文本的粗细,如normal、bold。
text-align - 设置文本在其容器内的水平对齐方式,如left、right、center。
line-height - 设置文本行的高度。
margin - 设置元素外边距的四个方面(上、右、下、左)。
padding - 设置元素内边距的四个方面。
border - 设置元素边框的宽度、样式和颜色。
width 和 height - 设置元素的宽度和高度。
max-width 和 max-height - 设置元素的最大宽度和高度。
min-width 和 min-height - 设置元素的最小宽度和高度。
display - 控制元素的显示类型,如block、inline、flex、grid。
position - 控制元素的定位方式,如static、relative、absolut ...
家庭网络改造(二)——旁路由openWRT
旁路由openWRT
使用玩客云盒子刷入openWRT。
背板加热后可打开
抽出主板,按照型号短接触点刷入即可
新版玩客云短接储存旁边,RX口左上方空电阻位即可,先USB连接至电脑,螺丝刀短接同时上电,软件识别即可。
烧录过一次再进刷机模式可插入USB,按住reset键再通电,烧录到3%松开即可。
刷写软件使用USB_Burning_Tool
软件包使用更新 2023.07.08 OPENWRT高内核直刷 玩客云ws1608/赚钱宝三代和赚钱宝2代WS1508-迅雷玩客云、京东云等各种云设备-恩山无线论坛 (right.com.cn)的OPENWRT高内核直刷包,直接刷入openWRT系统。
选择清楚所有,点击开始,等待完成即可。
烧录完后要点击停止,然后断开电源和usb。
刷完,第一次使用先连接电脑进后台配置ip,网卡灯亮一个是正常的,正常会给电脑分配一个ip,默认旁路由模式,后台IP是192.168.1.250 密码lanlan
如果你的路由网段是192.168.1.XXX的,直接连到你的内网也可以,网口默认设置的静态IP,不是动态获取的,有些路由器后台是看不到的,后台 ...
图表分析工具
支撑阻力线
支撑线和阻力线是技术分析中的重要概念,它们帮助交易者理解资产价格的潜在反转区域喵。
支撑线描述的是一个价格水平或区域,在该水平或区域内购买活动足以停止价格进一步下跌或将其推高喵。简单来说,支撑线下方是买家的领地喵,价格到达这个水平时通常会停止下跌,甚至可能弹回上升喵。
阻力线则是相反的概念喵,它描述的是一个价格水平或区域,在该水平或区域内卖出活动足以阻止价格进一步上涨或将其压低喵。也就是说,阻力线上方是卖家的领地喵,价格在这个水平通常会停止上涨,甚至可能开始下跌喵。
支持阻力互换位即某一价格既是某段价格的支撑线/阻力线,而后跌/涨,变为另一段的阻力线/支撑线,支撑和阻力互换位是指当市场价格突破一个既定的支撑线或阻力线时,原来的支撑线可能变成新的阻力线,原来的阻力线可能变成新的支撑线的现象喵。
在图表分析中,支撑和阻力通常被绘制为水平线,通过将历史价格的低点(支撑)和高点(阻力)连接起来来确定喵。以下是支撑线和阻力线的一些特点喵:
心理因素:支撑和阻力水平代表市场参与者的心理和情绪喵。
角色转换:当一个支撑线被突破后,它可能会转变为阻力线;同理,当阻力线被突破后,则有可能变 ...
为你的Hexo添加一个后台
添加Qexo后台
Qexo是一个美观、强大的在线静态博客管理器。
简单
支持使用 Vercel 零成本一键部署, 您只需要配置一个免费数据库
强大
无限的拓展性, 应有尽有的配套功能尽在掌握
美观
基于 Bootstrap & Argon 的现代化响应式风格
全面
Django 后端, 支持多种平台和数据库
本文将介绍如部署Qexo后台,包括其Github Actions,数据库,Qexo后台。
其工作原理为,Qexo通过修改Github静态资源库即未经编译的源文件(以下简称源库),储存未经编译的源文件,同时启用Github Actions,在检测到push后启动Github Actions按照预设编译源文件并且push到Github pages库即已经经过编译的Hexo页面文件。来代替手动Hexo g & Hexo d。
Qexo后台--------->通过Github token修改-------->Github静态资源库-------->触发Github Actions-------->编译源库,推送pages库-- ...
资源文件本地化
很久没有管博客了,加载速度越来越慢,原因是许多js和css文件的CDN在国内无法正常访问了。还有部分API寄了。
[{"url":"/img/2024.2.18/4.webp","alt":""},{"url":"/img/2024.2.18/5.webp","alt":""}]
加载更多
对于解决办法是保存文件后本地加载或者网络引用。
保存
使用魔法,打开网络找到国内加载不出的资源文件。找到响应右键保存即可
[{"url":"/img/2024.2.18/7.webp","alt":""},{"url":"/img/2024.2.18/8.webp","alt":""}]
加载更多
CDN引用
要找到该js或css文件是如何引用的,查看其请求地址,一般情况下CDN地址都会有其插件名或直接通过其连接引入。
查看链接:
查看发起程序:
[{"url":"/img/2024.2.18/10.webp","alt":""},{"url":"/img/2024.2.18/11. ...
家庭网络改造(一)——公网申请与桥接设置
本文偏小白向,无任何经验也可完成设置,文中会插入设置详细内容以及攻略,节奏较慢,请仔细认证阅读。
声明:本文仅记录个人经验,不具备通用可行性,仅供参考,若按照本文操作造成的任何损失,本文作者和平台均不负任何责任。继续阅读本文代表您同意该声明。
公网IP申请
在操作前,请确保你有一定拨号设置经验,或从其他地方获取到一定保证,否则轻易申请IPv6和设置桥接可能导致未正常配置下,无法访问部分不支持IPv6站点以及访问缓慢,或桥接模式下不能正常拨号上网。
同时请注意:部分光猫同时具有IPTV和固定电话功能,请咨询客服结合当地情况,获取权威保障以继续。
若未按照以上要求实施而造成的任何错误以及损失,本文作者和平台均不负任何责任。继续阅读本文代表您同意该声明。
公网ip申请无疑是最难的一步,当时苦于社恐没感打电话去申请,其实挺简单的,攻略如下:
123个人经历,电信宽带可以这样解决:(仅供参考)1、先打10000人工客服,给他说明你的需求。很小的概率是可以给你直接解决的,当然解决了更好。多半情况客服可能会跟你缠,让你觉得客服不懂或者没有这项业务,最后被“踢皮球”,他多半会给你转接或者找另一个业 ...
遇·见[挖矿病毒]
备份日志等文件
1cp /var/log/auth.log ~/auth.log.backup
1. 确认挖矿进程
打开终端。
输入以下命令来查看当前运行的进程及其CPU使用情况:1top
在列表中寻找CPU使用率异常高的进程,特别是那些您不认识的进程。
2. 终止挖矿进程
使用ps命令找到挖矿进程的PID(进程ID):1ps aux | grep -i "挖矿进程名" | grep -v grep
替换“挖矿进程名”为实际的进程名称,如kthreaddi或bbb。
记下PID。
使用kill命令终止进程:1kill -9 PID
将PID替换为实际的进程ID。
3. 查找并删除挖矿木马文件
使用find命令搜索可疑文件:1find / -name "可疑文件名" 2>/dev/null
替换“可疑文件名”为实际的文件名。
如果找到文件,使用rm命令删除它:1sudo rm -f /path/to/suspicious/file
将/path/to/suspicious/file替换为实际的文件路径。
4. 检查并 ...
怪东西
看两段代码
12sql = "UPDATE users SET {} = ? WHERE username = ?"cursor.execute(sql.format(type_name), (datetime.now(), username))
这个可以正常运行
运行流程如下
1sql = "UPDATE users SET {} = ? WHERE username = ?"
经过 format 方法处理后,那么更新语句变为:
1UPDATE users SET type_name = ? WHERE username = ?
此处有两个参数占位符 ?,分别对应 datetime.now() 和 username。
而在执行更新操作时,您提供了两个参数:
1cursor.execute(sql.format(type_name), (datetime.now(), username))
这里的 (datetime.now(), username) 是一个包含两个元素的元组,正好与 SQL 语句中的两个问 ...
数据库加载中