如何让部署Qexo后台
现在 Qexo 官网拉下最新的代码 跳转
然后解压
tar -xzf 文件名.tar.gz
首先查看 Python 和 pip3 的版本,如果不对应最好安装如图中的版本不容易出错
编辑配置以使用 Mysql 为例, 确认好安装相关依赖后在manage.py的同级目录下创建并修改 configs.py
import pymysqlpymysql.install_as_MySQLdb()DOMAINS = ["127.0.0.1", "yoursite.com"]DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'qexo', 'USER': 'root', 'PASSWORD': & ...
Macos如何使用安卓模拟器(inter芯片和m芯片均可)
首先我们使用的软件是 Genymotion,这款工具基础功能是免费的,扩展功能是收费的,对于基本使用还是够用的。第一步我们要先去官网注册下账号:需要一个可用的邮箱账号,直达注册,注册成功之后就需要下载软件了,下载地址,选择macos即可。
下载完成之后按照提示安装即可,安装后需要输入刚才注册的账号和密码登录即可;进来之后大概是这种页面,没有创建直接点创建你需要的配置即可,注意安装系统需要选Android 11 这里不再演示。
然后点击启动你创建的模拟器,此时现在是x86架构,现在软件几乎全是arm架构,所以现在安装大部分软件是安装不上的。这里我们使用Github一位大佬开发的转译包即可,直达地址,如果看不懂可以按照我的复述,首先下载,下载地址,下载完成之后拖到你的模拟器里面然后点击ok,过一会会提示让你重启模拟器,直接点击 restart now即可,重启之后,我们使用adb命令(没有安装的需要去安装adb,可以安装Android Studio里面包含adb,也可以单纯安装adb这里不再演示,可自行安装)。
注意使用adb的时候模拟器要启动,按照顺序执行以下命令即可
adb ...
使用 Systemd常驻服务和开启自启动
使用 Systemd (推荐,适用于 Systemd 系统,如 Ubuntu 16.04+, CentOS 7+)
Systemd 是一个系统和服务管理器,是现代 Linux 发行版的标准。
创建 Systemd 服务文件:创建文件 /etc/systemd/system/your_project.service (将 your_project 替换为你的项目名称). 使用你喜欢的编辑器 (如 sudo nano /etc/systemd/system/your_project.service),并添加以下内容:
复制代码[Unit]
Description=Your Python Django Project
After=network.target
[Service]
User=root
WorkingDirectory=/www/wwwroot/xx/blog-backend
Type=simple
PrivateTmp=false
Environment="NVM_DIR=/root/.nvm"
Environment="PYENV_ROOT=/root/.pyenv"
E ...
vscode vue项目模板变量爆红
vscode-vue项目模板中的变量全爆红可以先排查是否是eslint或者是vscode插件问题,或者重启vscode看看是否还爆红,我是以上问题都排查了都不习惯,这里分享并记录下。
先看问题
报错 全是这种类型‘{}“不存在属性
解决方法
至此结束 🤡
二次打开el-dialog,el-input赋值后不能输入的问题
Vue2,二次打开el-dialog,el-input赋值后不能输入的问题1:问题描述:二次打开dialog后页面有一个el-input手动赋值后,在改input就不能改变了;赋值代码如下
this.form.uid = '123'
2:解决方法改为 this.$set(target,key,value) 赋值即可,注意key是字符串,要加引号
this.$set(this.form,'uid','123')
原因解释:
Vue 2 的响应式系统在初始化时会对 data 中已经存在的属性进行追踪。这意味着,如果 this.form 对象在组件初始化时已经存在,并且已经定义了 uid 属性,那么 Vue 能够检测到 uid 属性的变化,并更新视图。
赋值时机问题:
在某些情况下,如果组件的渲染顺序或生命周期钩子函数的使用不当,可能会导致在 el-input 初始化之前就对 form.uid 进行了赋值。 这可能会导致 el-input 无法正确地绑定到 form.uid 属性。
nextjs-增量静态生成-isr
Next.js 的增量静态再生 (Incremental Static Regeneration,ISR) 是一种强大的功能,它允许你在构建之后更新静态页面,而无需完全重建整个站点。 这结合了静态站点生成 (SSG) 的性能优势和服务器端渲染 (SSR) 的灵活性。
ISR 的工作原理:
初始构建: 在构建时,Next.js 会像静态站点生成一样预渲染页面,并生成 HTML 文件。
重新验证: 在运行时,当请求到达页面时,Next.js 会检查页面是否已过期。过期时间由 revalidate 属性控制(以秒为单位)。
后台重新生成: 如果页面已过期,Next.js 会在后台重新生成该页面。在此期间,Next.js 仍然会提供旧的缓存页面给用户。
更新缓存: 一旦页面重新生成完成,Next.js 会更新缓存,并在后续请求中提供新的页面。
如何使用 ISR:
在 getStaticProps 函数中添加 revalidate 属性即可启用 ISR:
import Head from "next/head";import Layout from "../.. ...
nextjs-服务端渲染-ssr
Next.js 的服务端渲染 (SSR) 允许你在服务器上预渲染页面,而不是在客户端浏览器中。这有很多好处,包括:
改进 SEO: 搜索引擎爬虫可以更容易地抓取和索引预渲染的 HTML 内容。
更快的首屏加载时间: 用户可以更快地看到页面内容,因为浏览器不需要在客户端执行 JavaScript 来渲染页面。
更好的用户体验: 特别是对于内容较多的页面或网络连接较慢的用户,SSR 可以提供更流畅的体验。
如何在 Next.js 中实现 SSR:
Next.js 提供了两种实现 SSR 的主要方式:
getServerSideProps (页面级别): 这是最常用的 SSR 方法。getServerSideProps 是一个异步函数,它在每个请求时都会在服务器端运行。 它接收一个包含上下文信息的 context 对象,并返回一个包含 props 对象的对象。这些 props 将传递给页面的组件作为 props。
import Head from "next/head";import Layout from "../../app/layout"; ...
nextjs-静态生成
nextjs
静态生成Next.js 的静态生成 (Static Generation, SG) 是一种构建方式,它在构建时预渲染页面 HTML,并将这些 HTML 文件直接提供给客户端。这意味着页面内容在用户请求之前就已经准备好了,从而提供更快的加载速度和更好的 SEO 性能。
工作原理:
在构建过程中,Next.js 会为每个静态生成的页面生成一个对应的 HTML 文件。当用户请求页面时,服务器直接返回预先构建好的 HTML 文件,无需在服务器端进行任何渲染。这与传统的服务器端渲染 (SSR) 不同,SSR 是在每次请求时动态生成 HTML。
使用场景:
静态生成适用于内容不经常变化的页面,例如:
博客文章
产品页面
文档
营销 landing page
优势:
更快的加载速度: 因为 HTML 已经在构建时生成,所以服务器可以立即响应请求,无需等待渲染。
更好的 SEO: 搜索引擎爬虫可以更容易地抓取预渲染的 HTML 内容,从而提高网站的 SEO 排名。
降低服务器负载: 由于页面是在构建时生成的,服务器无需处理每个请求的渲染,从而降低了服务器负载。
更好的缓存: 静态生 ...
node脚本-重命名-移动目录
一个处理文件的脚本/* * @Author: yangyuxuan wuqi_y@163.com * @Date: 2025-02-18 10:24:47 * @LastEditors: yangyuxuan wuqi_y@163.com * @LastEditTime: 2025-02-18 15:55:32 * @Description:node脚本-重命名-移动目录 * */const fs = require('fs');const path = require('path');// 定義文件的路徑const distDir = path.resolve('./dist');const oldFile = path.join(distDir, 'index.html');const newFile = path.join(distDir, 'index.html');const sourceDir = path.resolve('./dist/assets' ...
css实现视差效果
效果1:
源码:
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <style> * { margin: 0; padding: 0; } html { height: 100vh; overflow: hidden; } body { width: 100vw; height: 100vh; perspective: 1px; tr ...