目标

  • 实现基于 RESTful API 路径的细粒度权限控制,确保系统安全性
  • 简化权限管理:仅使用 User、Group、Permission 模型,提供简单易用的权限管理。
  • 有一定的扩展性:可对 Permission 种类进行扩展,可将多个 Permission 进行分组,便于权限管理

方案示例

实体

User(用户): - User 代表系统中的用户身份,可以是: - 基础的带用户名、密码、邮箱、姓名的账户 - API 令牌账户

Permission(权限): - Permission 由 RESTful 实体派生出来,例如 DBInstance 是一种资源实体,它的定义如下:

[查看更多...]

来自 大脸猪 发送于 2025-03-06 00:52 - 2 条评论

引言

在 Django 开发过程中,有时由于手动删除历史迁移文件(migrate files)或其它原因,可能导致数据库结构与模型定义不匹配,从而引发数据异常。此时,需要重建数据库并恢复数据。

1. 备份源数据库

首先,我们需要备份源数据库中的业务数据。

1.1 获取表名

使用 SQLite 命令行工具,列出源数据库中的所有表名:

sqlite3 db.sqlite3
.tables

1.2 排除系统表

由于 Django 的系统表(以 django_ 开头)和权限表 auth_group_permissions 可以通过迁移文件重建,因此在备份时应排除这些表。

[查看更多...]

来自 大脸猪 发送于 2025-03-10 17:56 - 0 条评论

tag: 命令行/乱码/编码 这个问题很难弄。还会影响到python的系统函数os.stat等。 解决方法如下: 执行命令:

apt-get install -y locales
locale-gen en_US.UTF-8

修改配置文件:

vim ~/.bashrc
## 写入
export PYTHONIOENCODING=utf-8

export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'

有时,它会报错:

warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

此时需要:

[查看更多...]

来自 大脸猪 发送于 2017-01-03 01:43 - 0 条评论

首先,安装docker-compose

$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

编辑配置文件。配置文件在文后。

执行 docker-compose up -d

登录 ip:81,输入用户名[email protected],密码changeme。登录后修改用户邮箱和默认密码。

好好享受图形界面。

docker-compose.yaml

[查看更多...]

来自 大脸猪 发送于 2022-10-22 12:11 - 0 条评论

首先编辑sshd的配置文件:

vim /etc/ssh/sshd_config

注意,/etc/ssh/下可能会有sshd_config.d的配置文件夹,不要漏掉里面的文件。

修改下面的内容,确保:

PubkeyAuthentication yes

PasswordAuthentication no

确认.ssh/authorized_keys里面已经配置了你准备用来登录的合适的证书。否则可能会有麻烦。

然后,可以在客户端,使用这个命令进行登录方式的检查。

 ssh -o PreferredAuthentications=none -o PubkeyAuthentication=yes [email protected]

[查看更多...]

来自 大脸猪 发送于 2025-01-24 16:43 - 0 条评论

使用gogf中的命令行参数解析包来实现灵活的命令行参数传递。

    "github.com/gogf/gf/v2/frame/g"
    "github.com/gogf/gf/v2/os/gcmd"
    "github.com/gogf/gf/v2/os/gctx"

type Main struct {
    g.Meta `root:"main" name:"tools"`
}

type MainInput struct {
    g.Meta `name:"main" brief:"工具"`
    Cmd    string `short:"c" name:"cmd" brief:"传入命令类型,如select/add_attr"`

[查看更多...]

来自 大脸猪 发送于 2025-01-06 17:09 - 0 条评论

假设有requirements.txt如下:

Django==2.2.7
gunicorn==19.9.0
Markdown==3.1.1
Pygments==2.4.2
pytz==2019.3
redis==3.3.11
setuptools==41.4.0
sqlparse==0.3.0
wheel==0.33.6
captcha==0.4
django-redis==5.2.0
Pillow==9.4.0

如果想在批量pip安装的时候指定参数,如使用镜像源(如mirrors.tencent.com)进行加速。 可行的方法是拼凑linux命令:

cat requirements.txt | xargs -n 1 -L 1 pip3 install --extra-index-url https://mirrors.tencent.com/repository/pypi/tencent_pypi/simple -i https://mirrors.cloud.tencent.com/pypi/simple

[查看更多...]

来自 大脸猪 发送于 2024-11-28 14:49 - 0 条评论