Ale*_* SZ 7 python django command
我正在学习在Django中编写自定义管理命令.我想写一个命令,它将给定的URL作为参数.就像是:
python manage.py command http://example.com
Run Code Online (Sandbox Code Playgroud)
我已经阅读了一份文档,但我不清楚如何做到这一点.但是我可以写一个命令'Hello World!';)
alf*_*kim 21
试试这个:
yourapp/management/commands/yourcommand.py使用以下内容创建文件:
from django.core.management.base import BaseCommand
class Command(BaseCommand):
help = 'A description of your command'
def add_arguments(self, parser):
parser.add_argument(
'--url', dest='url', required=True,
help='the url to process',
)
def handle(self, *args, **options):
url = options['url']
# process the url
Run Code Online (Sandbox Code Playgroud)
然后你可以用你的命令
python manage.py yourcommand --url http://example.com
Run Code Online (Sandbox Code Playgroud)
并且:
python manage.py --help
Run Code Online (Sandbox Code Playgroud)
要么
python manage.py yourcommand --help
Run Code Online (Sandbox Code Playgroud)
将显示您的命令和参数的描述.
如果您不想命名参数(--url部分),就像在您的示例中一样,只需阅读url('s)表单args:
def handle(self, *args, **kwargs):
for url in args:
# process the url
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.