无法启动任何django应用程序

Dar*_*ren 9 django

我是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模块的名称?

小智 11

这是一个有趣的 - 您的项目和您的应用程序需要具有不同的名称.您可能创建了一个项目,然后尝试使用相同名称的startapp.


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应该使用一次来创建一个新应用程序

\n

要查看更改,请将应用程序与数据库同步python manage.py migrate,然后重新启动服务器python manage.py runserver

\n

来自django-admin 文档

\n

manage.py与 本质上做同样的事情django-admin

\n
\n

startapp <app_label> [destination]

\n

django-admin 启动应用程序

\n

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

\n

默认情况下,创建的目录包含 models.py 文件和其他\napp 模板文件。(有关更多详细信息,请参阅源代码。)如果仅给出应用程序名称,则将在当前工作目录中创建应用程序目录。

\n

如果提供了可选目标,Django 将使用现有目录而不是创建一个新目录。您可以使用 \xe2\x80\x98.\xe2\x80\x99 来表示当前工作目录。

\n

例如:

\n

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

\n
\n


Leo*_*opd 8

也许你需要

cd panel
python manage.py startapp yourappname
Run Code Online (Sandbox Code Playgroud)

我不确定从项目上方的目录中运行命令是否可以正常运行.


Per*_*ell 5

我重现了这个问题,实际上有些东西没有按我的预期工作。\n我想知道我们是否偶然发现了 Django 的错误,或者是我不理解的限制。

\n\n

有一个名为“project”的项目和一个空文件夹 app/newapp\n\xe2\x80\xa6 我尝试过:

\n\n
python manage.py startapp newapp apps/newapp\n
Run Code Online (Sandbox Code Playgroud)\n\n

它返回:

\n\n
CommandError: \'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\n
python manage.py startapp newapp apps/main\n
Run Code Online (Sandbox Code Playgroud)\n\n

使用 Django 2.1.3。

\n