windows Django,无法在子文件夹中创建应用程序

lx0bsm1f  于 2023-08-07  发布在  Windows
关注(0)|答案(8)|浏览(108)

我在Windows上,试图在名为 Apps 的常用文件夹中创建一个新应用程序。myApp 文件夹已存在于 Apps 中。我从项目根目录运行:

python manage.py startapp myApp Apps\myApp

字符串
我得到:

Error: 'Apps\\myApp' is not a valid app name. Please use only numbers, letters and underscores.


我不知道为什么要用双反斜杠。我也试着用一个正斜杠来确定:

python manage.py startapp myApp Apps/myApp


我得到了这个

Error: 'myApp' conflicts with the name of an existing Python module and cannot be used as an app name. Please try another name.


我不知道这是Windows还是Python的问题。

nkhmeac6

nkhmeac61#

试试这个:

mkdir Apps\newapp
python manage.py startapp NewApp Apps/newapp

字符串
您将创建一个名为“NewApp”的应用程序,该应用程序位于“Apps/newapp”文件夹中。

elcex8rz

elcex8rz2#

从项目的根目录创建您的Apps目录-

mkdir Apps

字符串
移动到您的应用目录-

cd Apps


通过调用根项目目录中的manage.py来运行python-

python ../manage.py startapp newapp


给你

knpiaxh1

knpiaxh13#

从docs:
如果提供了可选的目的地,Django将使用现有的目录,而不是创建一个新的目录。您可以使用“.”来表示当前工作目录。
第一个月
所以尝试使用python manage.py startapp myApp ./Apps/myApp或完整路径。

xkrw2x1b

xkrw2x1b4#

Manage.py文件是django-admin.py的精简 Package
如果您想在任何目录中创建新应用程序
试试这个:

$ cd <directory path>
$ django-admin.py startapp <app-anme>

字符串

taor4pac

taor4pac5#

对于django 3.2.9
创建一个子目录Apps来保存所有应用程序,移动到其中,为应用程序myApp创建一个目录,然后返回到根目录

mkdir Apps && cd Apps && mkdir myApp && cd ..

字符串
添加一个__init__.py文件(这是一种将目录视为包的python方式)
在Apps子目录中创建一个myApp

manage.py startapp myApp Apps/myApp


(in windows,请使用反斜杠)上面的两行代码将创建myApp
现在,在settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # Local
    'Apps.myApp.apps.MyAppConfig', # new
]


在./Apps/myApp/apps.py文件中,将name='myApp'更改为name='Apps.myApp'将解决此问题

mnemlml8

mnemlml86#

我在Mac上也遇到了同样的问题。
我把Django从vervion 1.3升级到了1.4。

qxsslcnc

qxsslcnc7#

正如文档所述,您可以使用命令

django-admin startapp name [directory]

字符串
但在这个例子中

django-admin startapp myapp /Users/jezdez/myapp


文档没有说python创建myapp文件夹。您应该在startapp命令之前执行此操作。

xdyibdwo

xdyibdwo8#

Django的新版本

1.创建所需的文件夹结构

mkdir -p apps/myapp && touch apps/__init__.py

字符串

2.创建应用

python manage.py startapp myapp apps/myapp

3.配置apps/myapp/apps.py文件如下:

from django.apps import AppConfig

class MyappConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'apps.myapp'

4.将应用追加到INSTALLED_APPS列表中的[project]/settings.py位置

INSTALLED_APPS = [
    ...
    'apps.myapp',
]

在Django 4.2.3上测试🤖

相关问题