以下是我在以下文件中编写的自定义命令 MyApp的/管理/命令/ create_myadmin.py
from django.core.management.base import BaseCommand
from django.contrib.auth.models import User
class Command(BaseCommand):
help = 'Creates a superuser that can view the admin page'
def handle(self, *args, **options):
try:
user = User.objects.get(username='myadmin')
except User.DoesNotExist:
user = User.objects.create_superuser('myadmin', 'myadmin@mymail.com', 'myadmin')
user.save()
在此之后,我将myapp添加到myproject / settings.py中的INSTALLED_APPS
我的问题是,当我使用自动完成功能并列出以"创建"开头的命令时,它不会显示针对create_myadmin的帮助字符串,如下所示
python3 manage.py create (pressed tab here)
createcachetable -- creates table for SQL cache backend
createsuperuser -- create a superuser
create_admin_user (help string missing??)
我希望在这里可以看到存储在帮助变量中的字符串。 有什么快速指示吗?
更新:我检查了django / core / management / commands / createcachetable.py的代码,这里提到的帮助文本与我上面的内容不匹配。知道在哪里可以定义上面自动完成中显示的帮助文本吗?
答案 0 :(得分:0)
Django的bash和zsh完成运行
./manage.py
获取命令列表。此列表不显示帮助文本。这是有道理的,因为显示帮助文本需要导入所有命令模块。
Django的zsh completion包含一些内置命令的默认帮助消息。