我的Django项目结构是:
/proj
/frontend
/server
/proj
/app1
/app2
manage.py
Run Code Online (Sandbox Code Playgroud)
如何运行python manage.py startapp app_name以便我新创建的应用程序在/server目录中?我尝试django-admin.py startapp appname在server目录中运行来创建应用程序,但我最终会遇到此错误:
$ ./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.
Run Code Online (Sandbox Code Playgroud)
Rah*_*pta 48
您可以指定路径/server/appname后的目录appname为destination在Django应用程序的目录结构将被创建,即.
startapp <app_label> [destination] # startapp command usage
Run Code Online (Sandbox Code Playgroud)
为当前目录或给定目标中的给定应用程序名称创建Django应用程序目录结构.
如果仅给出应用程序名称,则将在当前工作目录中创建应用程序目录.
如果提供了可选目标,Django将使用该现有目录而不是创建新目录
因此,您可以将/server/appname目录的路径指定为destination值.
django-admin.py startapp appname [destination] # specify destination
Run Code Online (Sandbox Code Playgroud)
你需要做什么?
1.您需要先appname在里面创建一个目录/server.
mkdir /server/appname # create directory from root level
Run Code Online (Sandbox Code Playgroud)
2. 然后,运行startapp命令以创建应用程序.
django-admin.py startapp appname ./server/appname
Run Code Online (Sandbox Code Playgroud)
小智 12
我总是将我的应用程序放在一个内部文件夹中(与 Django 创建的文件夹相同,带有项目名称),遵循与您想要做的类似的两个 Django的设计。当你想创建一个新的应用程序时,你可以使用,正如之前的答案所说,
python ../manage.py startapp my_new_app
Run Code Online (Sandbox Code Playgroud)
从您要在其中创建应用程序的文件夹中。另一件事,更容易的是我所做的,是你可以跑
django-admin startapp my_new_app
Run Code Online (Sandbox Code Playgroud)
从这个内部文件夹,应用程序,它会工作。
如果您已经在server目录中,那么您可以运行
python ../manage.py startapp appname
Run Code Online (Sandbox Code Playgroud)
并且appname将在server目录中创建,而不是在项目根目录中。
在 Django 项目中创建新应用程序。
第一的:
第二:
django-admin startapp <new_app_name>
Run Code Online (Sandbox Code Playgroud)
现在,您可以检查使用给定名称创建的新应用程序。
| 归档时间: |
|
| 查看次数: |
35246 次 |
| 最近记录: |