我是Django的新手,每次我尝试运行
python panel/manage.py startapp %app%
(面板是我的项目)它给了我错误:
Error: '%app%' conflicts with the name of an existing Python module and cannot be used as an app name. Please try another name.
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
当然公司或联系人或统计数据不是现有Python模块的名称?
Roy*_*oyM 10
我也很困惑,直到我意识到Django项目是应用程序的容器; 这个序列使它更清晰:
# first create a Project (container).
django-admin.py startproject Project
# create multiple apps
cd Project
python manage.py startapp polls
python manage.py startapp hello
...
Run Code Online (Sandbox Code Playgroud)
use*_*737 10
我和 Django 新手遇到了同样的问题,因为我试图在进行更改后“重新启动”我的应用程序,但startapp
应该使用一次来创建一个新应用程序。
要查看更改,请将应用程序与数据库同步python manage.py migrate
,然后重新启动服务器python manage.py runserver
。
来自django-admin
文档
(manage.py
与 本质上做同样的事情django-admin
)
\n\n\n
startapp <app_label> [destination]
django-admin 启动应用程序
\n在当前目录或给定目标中为给定应用程序名称创建 Django 应用程序目录结构。
\n默认情况下,创建的目录包含 models.py 文件和其他\napp 模板文件。(有关更多详细信息,请参阅源代码。)如果仅给出应用程序名称,则将在当前工作目录中创建应用程序目录。
\n如果提供了可选目标,Django 将使用现有目录而不是创建一个新目录。您可以使用 \xe2\x80\x98.\xe2\x80\x99 来表示当前工作目录。
\n例如:
\n\n
django-admin startapp myapp /Users/jezdez/Code/myapp
也许你需要
cd panel
python manage.py startapp yourappname
Run Code Online (Sandbox Code Playgroud)
我不确定从项目上方的目录中运行命令是否可以正常运行.
我重现了这个问题,实际上有些东西没有按我的预期工作。\n我想知道我们是否偶然发现了 Django 的错误,或者是我不理解的限制。
\n\n有一个名为“project”的项目和一个空文件夹 app/newapp\n\xe2\x80\xa6 我尝试过:
\n\npython manage.py startapp newapp apps/newapp\n
Run Code Online (Sandbox Code Playgroud)\n\n它返回:
\n\nCommandError: \'newapp\' conflicts with the name of an existing Python module and cannot be used as an app name. Please try another name.\n
Run Code Online (Sandbox Code Playgroud)\n\n但是,如果我定位任何其他路径,其中最后一个文件夹的名称与我正在启动的应用程序的名称不同,则它可以工作。
\n\n所以我最终做了:
\n\npython manage.py startapp newapp apps/main\n
Run Code Online (Sandbox Code Playgroud)\n\n使用 Django 2.1.3。
\n 归档时间: |
|
查看次数: |
20866 次 |
最近记录: |