如何使用命令python manage.py startapp xxx生成其他文件?

时间:2019-07-04 20:56:06

标签: django python-3.x

“ python manage.py createapp xxx”命令可以通过某种方式生成一些额外的文件,例如xxx.urlsstatics.dirtemplate.dir

我希望能够避免不得不生成以后可能需要的文件和目录的工作。例如文件; app.urlsstatics.dir

2 个答案:

答案 0 :(得分:0)

您可以创建自己的Django命令。示例:

python manage.py execute_my_command

文件夹的结构应该相似。该项目将称为测试,其结构如下:

test
   management
      commands
           __init__.py
           execute_python.py
      __init__.py

在我们的项目测试中是文件夹管理,在这些命令内以及在命令python文件内,该文件具有要执行的命令的名称。在execute_python内部,命令代码将位于以下位置:

from django.core.management.base import BaseCommand

class Command(BaseCommand):
help = "Ejecuta archivo python archivo_a_ejecutar.py"

def handle(self, *args, **options):
    self.stdout.write('Ejecutando comando')
    os.system("python archivo_a_ejecutar.py")

答案 1 :(得分:0)

startapp command [Django-doc]具有 --template标志。如文档所述:

  

--template TEMPLATE

     

使用自定义应用模板文件或目录提供目录的路径   压缩文件的路径(.tar.gz.tar.bz2.tgz.tbz,   .zip)包含应用模板文件。

例如joshvillbrandt/django-quick-start-app [GitHub]包含这样的模板。您可以使用https://github.com/joshvillbrandt/django-quick-start-app/archive/master.zip获取压缩的副本。如您所见,该存储库包含一个templatesstatic目录,以及一个urls.pyviews.pytests.pyadmin.py

因此,您可以使用以下命令运行startapp命令:

manage.py startapp --template 'https://github.com/joshvillbrandt/django-quick-start-app/archive/master.zip' myappname

您当然可以寻找另一个包含模板的存储库。此外,您可以定义自己的模板,其中包含您喜欢的应用程序。