Skip to content

Unfazed 命令

Unfazed 提供方便的命令行工具,和 Django 的 command 一样,并且提供相同入口。

快速开始

在 app 下创建一个命令

1、在 app 文件夹下创建 commands 文件夹


>>> mkdir app/commands

2、在 commands 文件夹下创建一个命令文件


>>> touch app/commands/hello.py

3、在 hello.py 文件中编写命令



# app/commands/hello.py

from unfazed.command import BaseCommand
from click import Option


class Command(BaseCommand):
    name = "hello"
    help = "say hello"

    def add_arguments(self):
        self.add_argument(
            Option(["--name"], help="your name", required=True)
        )

    def handle(self, name: str):
        print(f"hello {name}")


4、运行命令


>>> python manage.py hello --name unfazed
# hello unfazed

内置命令

Unfazed 内置了一些命令,用于快速开发。

startapp

创建一个新的 app


>>> python manage.py startapp -n myapp

runserver

启动一个开发服务器



>>> python manage.py runserver --host 0.0.0.0 --port 9527

startproject

创建一个新的项目,该命令通过 unfazed-cli 调用


>>> unfazed-cli startproject -n myproject

aerich

aerich 是一个 tortoise-orm 配套的数据库迁移工具,用于管理数据库迁移

提供以下命令


>>> python manage.py init-db  # 初始化数据库
>>> python manage.py migrate  # 生成迁移文件
>>> python manage.py upgrade  # 执行迁移
>>> python manage.py downgrade  # 回滚迁移
>>> python manage.py history  # 查看迁移历史
>>> python manage.py heads   # 查看迁移头
>>> python manage.py inspectdb  # 生成模型文件