jinja2学习

例子

1
2
3
4
5
6
7
<!doctype html>
<title>Hello Sample</title>
{% if name %}
<h1>Hello {{ name }}!</h1> # {{ 表达式,变量,运算,或python语句 }}
{% else %} # {% 控制语句如 if else endif %}
<h1>Hello World!</h1>
{% endif %}

例如 条件判断,与for循环

1
2
3
4
5
6
7
8
9
10
11
    {% if name and name == 'admin'  %}
<h1>This is admin console</h1>
{% elif name %}
<h1>Welcome {{ name }}!</h1>
{% else %}
<h1>Please login</h1>
{% endif %}
# fro 循环
{% for digit in digits %}
{{ digit }}
{% endfor %}

flask安装,初始化

  1. 安装python,并建立虚环境, 然后安装flask基本
    1
    2
    3
    4
    5
    6
    $ sudo apt install python3 vitrualenv
    $ virtualenv myflask3 #建立虚环境
    $ python -m venv myflask3 #另一个建立虚环境的命令
    $ cd myflask3
    $ source bin/activate
    $ pip install flask
  2. 在myflask下建立app.py文档
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #coding:utf8
    from flask import Flask
    from flask import request,render_template

    # app = Flask(__name__, template_folder='templates',static_folder='static')
    app = Flask( __name__ )

    @app.route('/')
    @app.route('/index')
    def index():
    return render_template('index.html')

    if __name__ == '__main__':
    app.debug = True
    app.run( host = '0.0.0.0',port = 8080 )
    # app.run(host='0.0.0.0', debug=True)

ubuntu安装极简桌面

  1. 查看当前显示管理器
    cat /etc/X11/default-display-manager 或 systemctl status display-manager
    GDM,gnome系列的图形管理器,KDM, SDDM是KDE系列的图形管理器,LightDM是另一种跨桌面DM。该显示管理器的主要功能是重量轻,这意味着它在占用很少内存的情况下提供了出色的性能

  2. 切换到lightdm显示管理器
    sudo apt install lightdm
    sudo dpkg-reconfigure lightdm

  3. 在几个之间切换
    sudo dpkg-reconfigure gdm3
    sudo dpkg-reconfigure lightdm
    sudo dpkg-reconfigure sddm

ubuntu忘记登录密码了肿么办?

  1. 重新启动电脑,并按下Shift键,直到出现字符型启动菜单
  2. 选择recovery mode 启动。
  3. 接下为会进入对话框。选择

    root Drop to root shell prompt
    选择Drop to root shell prompt ,也就是获取root权限

  4. 进入命行行模式后,输入
    1
    # cat /etc/shadow # 查看你的用户名,
    当然也不用查了,因为你应该记得你的用户名。
  5. 更扆密码后重启系统
    1
    2
    3
    4
    5
    # passwd 你的用户名 #
    # Enter new UNIX password:
    # Retype new UNIX password:
    ******
    # reboot

ubuntu汉化后主目录改为英文名

ubuntu汉化后,主目录文件夹也成中文名了,人性化,好! 然而有时在命令行下,显示成乱码,也输入不了中文进目录了,肿么办?

1
2
3
$ mkdir Desktop Documents Downloads Music Pictures Public Templates Videos
$ cd .config
$ vim user-dirs.dirs
把文件夹指向改掉:
        XDG_DESKTOP_DIR="$HOME/Desktop"
        XDG_DOWNLOAD_DIR="$HOME/Downloads"
        XDG_TEMPLATES_DIR="$HOME/Templates"
        XDG_PUBLICSHARE_DIR="$HOME/Public"
        XDG_DOCUMENTS_DIR="$HOME/Documents"
        XDG_MUSIC_DIR="$HOME/Music"
        XDG_PICTURES_DIR="$HOME/Pictures"
        XDG_VIDEOS_DIR="$HOME/Videos"

然后删除掉中文文夹名就行了

ubuntu因为磁盘空间不够而无法登录桌面

今天由于下载了些东东,导致磁盘空间不够了,竟然还不知。重新启动系统后就进不了桌面了,肿么办?

一. 好在可以进控制台,于是 Ctrl+Alt+F1 进入控制台,并登录。

刚开始只是怀疑木有空间了,于是

1
$  df -hl 

显示格式为: 文件系统 容量 己用 可用 己用% 挂载点
查到真的是木有多余的空间了。

二.
1
$ sudo fdisk -l  # 查看当前硬盘信息,一般为/dev/sda1
三.插入USB硬盘
1
2
3
4
5
6
$ sudo fdisk -l # 查看USB硬盘信怎,一般为/dev/sdb1
$ sudo rm -rf .local/share/Trash/* #先把垃圾蓝清空吧。
$ cd /mnt
/mnt$ mkdir usb
/mnt$ sudo mount /dev/sdb1 /mnt/usb #挂载USB硬盘到/mnt/usb/目录下
/mnt$ sudo mv ~/temp/大文件 /mnt/usb/temp/ #把一些大文件转移到USB硬盘中
四.Ctrl+Alt+F7 进入桌面重新登录成功

virtualbox由于文件出错,无法启动了。

可能还是因为磁盘空间的原因,导致正在动行的vbox出错。也不打算搞什么修复了,重装吧! 正好也升级了。

1
2
3
4
5
6
$ $ dpkg -l |grep virtualbox # 查看当前virtualbox的版本号,查到是virtualbox-6.1
$ sudo apt remove virtualbox-6.1
$ cd ~/.config
$ rm -rf VirtualBox
$ cd ~/Downloads
$ sudo dpkg -i virtualbox-6.1.8***.deb

安装完成后,如何打开以前的虚拟机?

  1. 文件管理器进入 /home/yourname/VirtualBox VMs/虚拟机目录/, 打开 *.vbox文件就可以了

  2. 发现 winxp.vbox文件损坏了,无法找开咋办?

    1
    2
    3
    $ cd ~/VirtualBox VMs
    $ rm -f winxp.vbox
    $ mv winxp.vbox-prev winxp.vbox

    然后到文件管理器,重新打开就行

caddy1.4与2.0的区别,测试表格语句

以下为表格的测试语句

项目 caddy1.4 caddy2.0
压缩说明 gzip encode zstd gzip
php刘明 fastcgi / 127.0.0.1:9000 php php_fastcgi localhost:9000
文件指示 file_server

以下为json的测试语句

1
2
3
4
5
6
7
8
9
10
11
12
{
"visits": [
{
"visit_date": "2023-10-01",
"notes": "客户对新产品感兴趣,约定下周再次拜访。"
},
{
"visit_date": "2023-10-08",
"notes": "客户反馈产品价格较高,需要进一步沟通。"
}
]
}

Termux下利用caddy安装suiteCRM

一 安装必须
1
2
3
$ pkg install caddy
$ pkg install php
$ pkg install mariadb
二 编辑 Caddyfile
1
$ mkdir vim Caddyfile

http://:8080 {
encode zstd gzip
root * /data/data/com.termux/files/home/mywww # 此句可省略
file_server
php_fastcgi localhost:9000

}

三 安装 phpmyAdmin
  1. $ pkg install phpmyadmin
    $ ln -s ***
  2. 或从网上下载phpmyadmin的压缩文档,解压后放在 ~/mywww目录下
启动各项
1
2
3
4
$ php-cgi -b 9000 &
$ mysqld # (要关闭只能用ctl+C)
$ nohup mysqld & # 后台启动mysql,执行行会显示mysql的ID,可用 kill -9 ID号来中止
$ caddy start # 后台启动 caddy

每次查进程杀死mysql太麻烦了。可以用 kill -9 pgrep mysql 来处理。

验证
  1. 浏览器 http://localhost:8080 能进去证明 caddy成功
  2. http://localhost:8080/phpMyAdmin/index.php如果有,就证明php可用。
  3. $ whoami 查到用户名 比如 u0_123
    $ mysql -u u0_123 或 mysql -u $(whoami) 默认密码为空
    可进去,证明mariadb也成功
  4. 采用phpMyAdmin进行mysql配置的话,由地用户名的密码为空,是不允许进去的。这里就要修phpMyAdmin的配置,允许空密码进入。
    如果是安装版的phpMyAdmin则修改 /usr/share/phpmyadmin/libraries/config.default.php文件。
    如果是copy版的phpMyAdmin,则修改 mywww/phpmyadmin/libaraies/config.default.php文件

    $cfg[‘server’][$i][‘nopassword’]=false;
    $cfg[‘server’][$i][‘AllowNopassword’]=false;
    把false的值改为true

四 mysql设置

mysql有两个用户,一个是root,不知道密码,一个是本手机用户,密码为空可以登录

1
2
3
4
5
6
7
$ nohup mysqld & #启动mysql服务
$ mysql -u $(whoami) # 以termux用户登录。或直接 mysql 也行
$ mysql> use mysql ;
$ mysql> show databases; #显示当前数据库列表
$ mysql> set password for 'root'@'localhost' = password('你设置的密码'); #为root用户设新密码,这样就能以root方式登录了
$ mysql> flush privileges; # 退出
$ mysql> quit; # 退出

ubuntu19.04后,待机后wifi失联,如何找回?

ubuntu18.04后的版本,18.10忘记有没有这个缺陷了,反正是19.04就有,待机回来,wifi就的不到了。只能重启动才能找回。

有没有解决办法呢,后来在网上找了好久,才找到。是新的版本不支持老wifi协议了,可是家里的路由器还是老的。
方法如下:

第一步 (也可不用)

vim /etc/modprobe.d/iwlwifi.conf 在最后一行加入
options iwlwifi 11n_disable=1

第二步 (ubunt20.04中试了,不用第一步,直接这一步也行)

sudo modprobe -r iwlwifi
sudo modprobe iwlwifi
然后重新搜索wifi就可以连接上路由器了。