Django如何指定目录创建app
通过pycharm新建app时,需要指定目录。因为manage.py和APP是在同一级目录下,不指定目录的话,新建的app会和APP在同一级。
1.首先先在APP目录下,新建一个和要建的app同名的文件夹,比如goods,删除多余的__init__.py文件,不然在创建的时候会缺少migrations文件夹
2.建完目录,执行命令:
python manage.py startapp goods ./apps/goods |
# Application definition
# sys.path.append(os.path.join(BASE_DIR, "apps"))
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'apps.basic',
'apps.goods',
]
每多执行一个 startapp *** ./apps/*** 时,都要在INSTALLED_APPS中添加已经创建好的apps名称,例如在创建goods时,就要把已经创建好的basic加到INSTALLED_APPS中。
并且要修单个项目中的apps.py的name属性,自动创建时name = 'goods' 修改成name = 'apps.goods'
from django.apps import AppConfig
class GoodsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'apps.goods'
因为项目路径问题上,利用PyCharm创建应用时,不要在settings.py中添加 sys.path.append(os.path.join(BASE_DIR, "apps")) 不然会提示应用与现有模块重名的错误
使用vscode创建时,需要则需要