Django和Eclipse,制作一个可移植的项目

Django和Eclipse,制作一个可移植的项目,django,eclipse,Django,Eclipse,我喜欢Eclipse有很多原因。其中之一是,当我在做一个java项目时,我可以复制粘贴我的项目或重命名它,以创建一个新项目,它将更新所有项目的名称 我正试图为django项目做类似的事情 我可以使用以下代码设置APPNAME变量 APPNAME = os.path.basename(os.path.dirname(__file__)) 然后我可以将它导入任何需要知道应用程序名称的文件中。然而,这不是一个理想的解决方案,但它适用于我的settings.py文件以及我的url.py文件 它不适

我喜欢Eclipse有很多原因。其中之一是,当我在做一个java项目时,我可以复制粘贴我的项目或重命名它,以创建一个新项目,它将更新所有项目的名称

我正试图为django项目做类似的事情

我可以使用以下代码设置APPNAME变量

APPNAME = os.path.basename(os.path.dirname(__file__))  
然后我可以将它导入任何需要知道应用程序名称的文件中。然而,这不是一个理想的解决方案,但它适用于我的settings.py文件以及我的url.py文件

它不适用于我需要从某个地方导入某些内容的情况,例如:

from myproject.someapp import forms
django/python有没有办法知道“myproject”是什么?或者我可以使用与当前应用相关的导入语句吗

或者有更好的方法来复制django项目


编辑:我想我还必须处理一些数据库依赖关系。

我遵循一些规则来保持我的应用程序的可移植性。我将在下面列出它们,希望有人觉得它们有用

  • 在PYTHONPATH中包含我的应用程序,而不是我的项目。这样,我可以从应用程序导入表单执行
    ,而不是从project.app执行
  • 在#1之后,我始终仅从应用程序导入。这意味着我可以在其他项目中重用我的应用程序,而无需更改应用程序或其他相关应用程序中的导入语句

  • 如果您坚持使用#1和#2,通常可以轻松地复制和粘贴项目。您仍然需要修改
    settings.py

    在哪里更改PYTHONPATH?谢谢我在这里读了一篇文章:但上面说我需要为我的应用程序创建一个“应用程序”文件夹。如果可能的话,我不想这样做。我是在我的settings.py中这样做的:PROJECT\u ROOT=os.path.dirname(file)sys.path.insert(0,os.path.join(PROJECT\u ROOT,“apps”))并将我的所有应用程序放在名为apps的文件夹中,以便我的项目结构为djangoproject1-->apps-->appname,但当我从appname import*执行导入操作时,无法解析任何导入,并且apps文件夹具有init.py文件