Django argparse:无法识别的参数——设置?

Django argparse: Unrecognized Arguments --settings?

我查看了其他关于无法识别的 argparse 参数的 SO 线程,但其中 none 似乎与我的情况相符。

这是我的 argparse 代码,位于 apps/create_pdf/management/commands/create_pdf.py:


from django.core.management.base import BaseCommand, CommandError

class Command(BaseCommand):
    help = 'html to pdf for specified website.'

    def add_arguments(self, parser):
        print('cp#1')

        parser = argparse.ArgumentParser(description='html to pdf for specified website')
        parser.add_argument('-w', '--website', nargs =1, action = 'store', choices = ['SITE_1', 'SITE_2'], default='', help='site to be scraped.')
        args = parser.parse_args()

        print(args)
        breakpoint()

    def handle(self, *args, **options):
        print('cp#2')

        # create_pdf_from_html()

我从终端运行这样:

python3 manage.py create_pdf --website=SITE_1 --settings=server_config.settings

...我收到此错误:

manage.py: error: unrecognized arguments: create_pdf --settings=server_config.settings

设置路径正确,如果我不使用 argparse,一切都 运行 没问题。

我错过了什么?

向命令添加参数的正确方法:

from django.core.management.base import BaseCommand, CommandError

class Command(BaseCommand):
    help = 'html to pdf for specified website.'

    def add_arguments(self, parser):
        parser.add_argument('-w', '--website', nargs =1, action = 'store', choices = ['SITE_1', 'SITE_2'], default='', help='site to be scraped.')


    def handle(self, *args, **options):
        print(options['website'])

        # create_pdf_from_html()