2012-06-24 93 views
3

我有一个pycharm项目,大概是一个Django项目。也许他们是一回事,也许不是 - 我不确定这种区别。如何在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项目名称”〜和我的意思是,如果我在我的模型中定义的用户配置。 py(如上所示)我将需要什么AUTH_PROFILE_MODULE条目?我是从Django文档变得几点认识 - 我认为

dumpstownapp.models.UserProfile 

但是从文档我得到

dumpstownapp.UserProfile 

或者,也许我的应用程序被称为dumpstown?和然后我得到了什么?

回答

2

FolderA是Django项目文件夹,folderB是Django应用程序文件夹。

我还没有使用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的一个相对新手, m在Django 0.96时代开始的项目中使用它,所以我可能只是把事情设置错了。)但是folderA既是Django项目,也是PyCharm项目(.idea文件是PyCharm存储其项目数据的地方)。

0

在我的一个django-app git-submodule项目中,我需要找出django-app/library被使用的Django项目的名称。为此,我尝试获取文件的路径正在执行中,在路径中找到我的包并将其放在上面的文件夹中。但是,事实证明,在生产服务器上,该项目部署在名称不同的文件夹中(标准名称如www或某些行)。所以这种方式并不完全可靠。

所以我最终在django设置文件中设置了一个PROJECT变量,并用它来代替。