我有一个pycharm项目,可能是一个Django项目。也许他们是同一个,也许不是 - 我不确定这种区别。
无论如何,在我的settings.py文件中(位于project
目录的根目录中,我认为这是我的pycharm项目)我有:
ROOT_URLCONF = 'dumpstown.urls'
这是否意味着dumpstown
是我的项目名称?还是我的pycharm项目名称?有什么区别?因为我还有一个名为dumpstownapp
的文件夹,它包含我的所有models.py和view.py文件。我原以为dumpstownapp
是Django项目,但我真的不知道!
所以,简明扼要:
在此文件夹设置
中folderA
folderB
views.py
models.py
<other stuff>
templates folder
settings.py
<other stuff>
这是“Django项目名称”〜我的意思是,如果我在models.py(如上所示)中定义了UserProfile,那么我需要的AUTH_PROFILE_MODULE
条目是什么?我从django文档中得到了一些理解 - 我假设
dumpstownapp.models.UserProfile
但是从我得到的文档中
dumpstownapp.UserProfile
或许我的应用程序名为dumpstown?然后那么我得到了什么?
答案 0 :(得分:2)
FolderA是Django项目文件夹,folderB是Django app文件夹。
我没有使用过UserProfile,但是根据文档(https://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users),它应该包含一个包含Django应用程序名称和模型名称的字符串,用点分隔,所以"dumpstownapp.UserProfile"
应该是正确。如果你出现错误,有人可能会给你更好的帮助..
Django文档曾经说项目文件夹的父级(即folderA的父级)应该在路径上,但我相信已经改为包含项目文件夹本身(即folderA) - 因为它使Django应用程序的共享更容易。 PyCharm似乎假设是这种情况,因为按Alt + F7为新使用的模块自动添加导入会创建一个导入语句,假定folderA在导入路径上(我是PyCharm的相对新人,我'我在Django 0.96时代开始的项目中使用它,所以我可能只是设置错误..)但是folderA既是Django又是PyCharm项目(.idea文件是PyCharm存储其项目数据的地方)。
答案 1 :(得分:0)
在我的一个django-app git-submodule项目中,我需要找出使用django-app / library的Django项目的名称。为此,我试图获取该文件的路径。正在执行,在路径中找到我的包并获取它上面的文件夹。但是,事实证明,在生产服务器上,项目部署在具有不同名称的文件夹中(标准名称如www
或沿着这些行的某些内容)。所以这种方式并不完全可靠。
所以我最终在django设置文件中设置了一个PROJECT
变量并改为使用它。