startapp与manage.py在另一个目录中创建应用程序

我的Django项目结构是:

我的Django项目结构是:

/proj
  /frontend
  /server
    /proj
    /app1
    /app2
  manage.py

如何运行python manage.py startapp app_name,以便我新创建的应用程序位于/server目录中?我尝试在server目录中运行django-admin.py startapp appname来创建应用程序,但最终会出现此错误:

$ ./manage.py runserver
Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/bli1/Development/Django/CL/cherngloong/cherngloong/lib/python2.7/site-packages/django/core/management/__init__.py", line 351, in execute_from_command_line
    utility.execute()
  File "/Users/bli1/Development/Django/CL/cherngloong/cherngloong/lib/python2.7/site-packages/django/core/management/__init__.py", line 343, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/bli1/Development/Django/CL/cherngloong/cherngloong/lib/python2.7/site-packages/django/core/management/__init__.py", line 177, in fetch_command
    commands = get_commands()
  File "/Users/bli1/Development/Django/CL/cherngloong/cherngloong/lib/python2.7/site-packages/django/utils/lru_cache.py", line 101, in wrapper
    result = user_function(*args, **kwds)
  File "/Users/bli1/Development/Django/CL/cherngloong/cherngloong/lib/python2.7/site-packages/django/core/management/__init__.py", line 72, in get_commands
    for app_config in reversed(list(apps.get_app_configs())):
  File "/Users/bli1/Development/Django/CL/cherngloong/cherngloong/lib/python2.7/site-packages/django/apps/registry.py", line 137, in get_app_configs
    self.check_apps_ready()
  File "/Users/bli1/Development/Django/CL/cherngloong/cherngloong/lib/python2.7/site-packages/django/apps/registry.py", line 124, in check_apps_ready
    raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
88

您可以appname之后的./server/appname目录的路径指定为destination,即创建 Django 应用程序目录结构的位置。

From thestartappdocs:
startapp <app_label> [destination] # startapp command usage 

在当前目录或给定目标中为给定应用程序名称创建 Django 应用程序目录结构。

如果仅给出应用程序名称,则将在当前工作目录中创建应用程序目录。

如果提供了可选的目的地,Django 将使用现有的目录,而不是创建一个新的

因此,您可以将./server/appname目录的路径指定为destination值。

django-admin.py startapp appname [destination] # specify destination

你需要做什么?

1.首先需要在/server中创建一个目录appname

mkdir ./server/appname # create directory from root level

2.然后,运行startapp命令创建应用程序。

django-admin.py startapp appname ./server/appname
16

我总是把我的应用程序放在一个内部文件夹中(与 Django 创建的相同,带有项目的名称)遵循Two Scoops of Django的设计,类似于你想要做的。

python ../manage.py startapp my_new_app

从您要创建应用程序的文件夹中。另一件事,甚至更容易,这就是我所做的,就是你可以运行

django-admin startapp my_new_app

从这个内部文件夹,应用程序,它会工作。

6

如果您已经在server目录中,则可以运行

python ../manage.py startapp appname

appname将在server目录中创建,而不是在项目根目录中创建。

5

在 Django 项目中创建新应用程序。

First:

使用终端转到您要在其中创建应用程序的文件夹

Second:

在终端中键入以下命令,

django-admin startapp <new_app_name>

现在,你可以检查,用给定的名称创建新的应用程序。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(763)
如何将django与现有的Postgres数据库集成
上一篇
“WPM”如何在打字速度应用程序中计算
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(33条)