当我通过python manage.py startapp polls
在Django项目中创建一个新应用时,我只需将其添加到我已安装的应用列表中:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'survy',
)
然而,当我通过PIP pip install django-countries
将django-countries等应用程序安装到虚拟环境中时,是否有不同或更好的方法将其添加到已安装的应用程序列表中?
我一直在使用相同的方法,我认为这可能是错误的,因此在我的另一个问题中导致问题。
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'survey',
'django_countries',
)
这没有给我任何错误,但我不确定它是否正常工作。
注意:根据pip page和this SO question,该包名称为django-countries
,但我认为它应该在INSTALLED_APPS中称为django_countries
。
答案 0 :(得分:2)
不,你是对的。您只需添加模块名称,就好像它是您的模块之一。
Django在你的Python路径中搜索应用程序,它会找到它找到的第一个模块。由于Django第三方通常安装在site-packages
(在您的情况下是virtualenv之一),并且此文件夹位于您的Python路径中,因此Django将照常使用这些模块。