如何在Django中创建子应用程序?

时间:2010-05-19 00:24:35

标签: django

我是Django的新手,但在编程方面经验丰富。我有一组相关的应用程序,我想分组到一个子应用程序,但无法弄清楚如何让manage.py为我这样做。

理想情况下,我最终会得到如下结构:

project/
   app/
       subapp1/
       subapp2/

我已尝试manage.py startapp app.subapp1manage.py startapp app/subapp1
但这告诉我/.是应用名称的无效字符。

我已尝试更改到app目录并运行../manage.py subapp1,但这会使supapp1处于最高级别。注意,我试图直接创建一个独立的应用程序。我正试图在一个项目中做到这一切。

5 个答案:

答案 0 :(得分:49)

你仍然可以这样做:

cd app
django-admin startapp subapp1

这将有效(创建应用程序基本结构),但appsubapp1仍将被视为两个不相关的应用程序,因为您必须将它们都添加到{{1}在你的设置中。

这是否回答了你的问题?否则你应该更多地了解你想要做什么。

答案 1 :(得分:14)

根据Django documentation

  

如果提供了可选目标,Django将使用该现有目录而不是创建新目录。您可以使用“。”来表示当前的工作目录。

     

例如:

     

django-admin startapp myapp / Users / jezdez / Code / myapp

所以,你可以通过这种方法来实现:

  1. sub_app1目录
  2. 中创建app目录
  3. python manage.py startapp sub_app1 app/sub_app1

答案 2 :(得分:9)

Django本身不支持“子应用程序”。如果您希望在应用程序的包中收集代码,那么只需自己创建。否则你只是在寻求痛苦。

答案 3 :(得分:6)

转到您的应用程序文件夹。尝试:

python ../manage.py startapp app_name

答案 4 :(得分:2)

django-admin.py startapp myapp /Users/jezdez/Code/myapp

参考:Django Admin documentation