介绍
django的生产发布与开发环境还是很不一样,本文梳理一下生产发布具体有哪些配置。
statci静态资源收集
django中有很多app,自己建的或者第三方的。这些app都有自己的static目录。
开发的时候,当文件路径是/static的文件,django会去各个app的static目录下寻找有没有对应文件
但是生产的时候,需要执行collect命令,将各个app下的static目录下的文件复制到指定的STATIC_ROOT目录下,然后添加路由就是static路径就到STATIC_ROOT目录下寻找了
python manage.py collectstatic
下面的STATIC_ROOT路径有两种配置,
一种是移动到项目之外的文件夹,这等于说是让nginx来路由静态文件
一种是我这里写的移动到项目的www/static目录下
sett...
python开发桌面应用框架介绍
介绍
平时有些小功能想做成桌面软件方便使用,
有人推荐electron,但是与vue一起打包失败了
还有flutter,C#等,不是很熟练。
梳理一下比较熟悉的python有哪些框架可以用来开发桌面应用
常用框架介绍
上图是让chatgpt帮忙整理的常用的框架的特点
下面是自己尝试的理解
Tkinter:安装最方便,但是不支持原生的webview浏览器组件,与vue等前端结合比较困难就不考虑了
PyQt:不知此python3.12,目前支持的版本好像还是python3.9?也不考虑了
wxPython:相对靠谱,支持浏览器组件,也支持python3.12
非常用框架
别再用老wxPython了!wxPython浴火重生Phoenix项目:一个全新的wxPython实现,比以前更好、更强、更快
https://mp.weixin.qq.com/s/...
ssh和sftp工具介绍
介绍
之前一直使用xshell和xftp,但是总感觉不太好用。就整理了一下其他几款相关工具,也不是特别好用,就做个对比吧
electerm
官网
https://github.com/electerm/electerm/releases
这是我感觉最合适替代xshell的,主要是文件管理支持本地和远程,这个和xftp类似。但是弥补了xftp和xshell要同时开两个软件的问题。
缺点是感觉打开速度不够快
Tabby
https://github.com/Eugeny/tabby/releases
中规中矩,做ssh终端还行,最大特点是可以直接编辑远端的文件,保存修改自动上传。
但是没有本地文件路径
Xterminal
https://www.terminal.icu/
优点是可以看服务器信息的监控,可以管理一些常用的命令保存在书签里
缺点是打开速...
pnpm使用介绍
介绍
一般前端项目使用npm做包管理,下载依赖包到项目node_modules文件夹下。
但是发现一个基础项目node_modules文件夹就有几百兆,每个项目都要下载一次,太占硬盘。
pnpm可以解决这个问题,它下载依赖的时候下载到全局文件夹,然后通过硬链接的方式关联到项目node_modules文件夹下。
但是具体配置还挺多的,网上教程也不够详细,这里总结一下配置和使用方法万一有写的不对,欢迎指正。
安装
npm install -g pnpm
先全局安装pnpm
然后打开下面文件,没有就创建
C:\Users\用户名\.npmrc
registry=https://registry.npmmirror.com/
global-bin-dir=D:\greensoft\IDE\pnpm_modules_repo
cache...
element-plus的form表单
介绍
form表单官网介绍非常多,但是很难看懂怎么用的。
这里用个例子介绍常用场景
这里一个form表单设计两个提交按钮,
第一个提交按钮需要校验验证码和邮箱。
第二个提交按钮不需要校验验证码,校验验证码以外的的其他输入框
官方文档
https://element-plus.org/zh-CN/component/form.html
使用
<template>
<div class="register-container">
<el-form :model="form" :rules="rules" ref="formRef" label-width="100px">
<el-form...
django验证码组件插件django-simple-captcha的使用
介绍
官网如下 [https://github.com/mbi/django-simple-captcha](https://github.com/mbi/django-simple-captcha https://django-simple-captcha.readthedocs.io/en/latest/ 实现效果就是,调用接口返回一个验证码图片和一个key值。同时后台数据库会创建验证码code和对应key值和有效期 key值在前端是隐藏的,随着提交接口一起发送到后端,在数据库里筛选出对应hashkey的code与前端传过来的code是否一致,并且在有效期内。
本文会介绍使用中的一些坑,网上好像搜不到。
安装
因为我的项目是django3.2,所以按官网介绍,支持3.2的最后一个版本是5.2。不要安装5.19或者6.0,因为会自动卸载你的d...
pinia持久化存储pinia-plugin-persistedstate
介绍
pinia是vue的状态管理库,默认是保存在内存里如果刷新页面状态会丢失。 pinia-plugin-persistedstate插件将pinia状态变化自动保存在localStorage中,这样页面刷新也不会丢失了。官网 https://prazdevs.github.io/pinia-plugin-persistedstate/zh/guide/
安装
安装:
npm i pinia-plugin-persistedstate
在main.js注册:
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
const pinia = createPinia()
pinia.use(pi...
可拖动大小的双栏vue页面分享
介绍
分享一个自己写的简单的双栏页面,中间有个拖动条,可以左右拖动来改变左右双栏的大小。感觉自己写很多功能可以用到挺方便的,避免重复造轮子。
代码
TwoColumnsResizView.vue
<template>
<div class="tccontainer">
<div class="sidebar" ref="sidebar">
<slot name="left"></slot>
</div>
<div class="resizer" @mousedown="startResize"></div>
<div class="main-content" ref="main...
element-plus的el-pagination分页控件使用笔记
介绍
element-plus是vue常用的组件库,但是官方文档介绍不是很详细,这里把自己用到的常用点总结一下方便使用
https://element-plus.org/zh-CN/component/pagination.html
典型使用
请求后台接口,得到总页数(page-count),当前页码(current-page),当前页数据,然后填入el-pagination组件中。
点击某个页码的时候调用 @current-change="selectpage"方法
<el-pagination
large
background
v-model:current-page="feedArticlesStore.page"
layout="total, p...
element-plus的checkbox多选控件使用笔记
介绍
element-plus是vue常用的组件库,但是官方文档介绍不是很详细,这里把自己用到的常用点总结一下方便使用
https://element-plus.org/zh-CN/component/checkbox.html
典型使用
对一个数组数据循环,生成列表,然后需要能多选列表中几个选项
这里用到el-checkbox-group 嵌套 v-for循环,再是el-checkbox选项以及显示的内容。
<el-button @click="startvector" class="m-2">开始向量化</el-button>
<div>
<el-checkbox-group v-model="feedArticlesStore.selectedArticles" size=...