【问题标题】:Django project console management + Coding in EclipseDjango 项目控制台管理 + Eclipse 中的编码
【发布时间】:2012-09-22 19:38:35
【问题描述】:

我正在尝试以对我来说最舒适的方式在 Django 中设置我的第一个项目。

我真的很喜欢用控制台来做这样的事情:

  • 管理一些项目的设置(例如在运行之前)
  • 版本控制
  • 从模板创建项目

我知道我可以用 Django 做这样的事情:

django-admin startproject、manage.py runserver 甚至更多

但对于编码,我更喜欢使用 Eclipse 而不是控制台 (vim :P)。

所以我想将已经创建的项目导入 Eclipse。

导入项目选项无法将我的项目文件夹识别为有效的导入文件夹(可能是因为它没有像 .eclipse_project 这样的文件)。

我可以这样做New->Project->选择我的Project的文件夹作为我要开始的内容。

这确实有效,但令我烦恼的是,我什至无法向该项目添加一个 PyDev 模块,因为没有源文件夹,即使我有一个名为模块的文件夹 __init__.py 内。执行此操作后的项目结构如下:

mysite
   manage.py
   /mysite                  <- considered by PyDev not as source folder
        __init__.py
        urls.py
        settings.py
        wsgi.py

我可以在项目的根文件夹中创建源文件夹,然后将 mysite/mysite 的内容移动到其中,但是:

  • 我不会破坏 Django 项目的结构吗?
  • 我不想每次创建 django 项目时都这样做?
  • 是否可以选择将该 /mysite 文件夹的类型更改为源文件夹?

我做错了吗?

我还尝试了使用以下方法创建 Django 项目的选项:

New->Django 项目-> 我得到了相同的结构,要么没有源文件夹

顺便说一句。推荐的 django 项目结构是什么?

【问题讨论】:

  • 在运行配置下,您应该能够设置额外的包含路径和工作目录...
  • 这根本没有帮助
  • 也许这里的一些东西会pydev.org/manual_adv_django.html

标签: python django eclipse pydev


【解决方案1】:

我使用 Eclipse 作为我的 Django 编码环境,您不需要源文件夹。只需使用 Django 提供的文件夹结构即可。 init.py 向 python 显示该文件夹实际上是一个 python 模块。

命令django-admin.py startproject myproject 将默认创建一个新目录“myproject”(=让我们称之为项目工作区文件夹),其中包含一个 manage.py 和一个项目包文件夹(也称为“myproject”,包含一个设置.py 和其他文件)。

您可以根据需要重命名项目工作区文件夹,它不会更改任何内容。不要重命名项目包(除非您知道自己在做什么),因为 settings.py 引用了这个文件夹,或者确切地说,引用了这个模块。

创建好文件夹结构后,转到 Eclipse 并创建一个新项目,选择项目工作区文件夹,就可以了。

这是一个非常轻量级的设置,您不能以这种方式从 Eclipse 运行任何 django 命令。尽管如此,我还是建议使用终端/控制台来运行 Django 命令,因为它非常方便。

为了让 Eclipse 能够从一个文件跳转到另一个文件,在方法或类似方法上使用命令“cmd + mouseclick”,您必须将项目工作区文件夹包含在 Eclipse 中的system PYTHONPATH 中。只需转到 Eclipse - Preferences - PyDev - Interpreter Python 并通过按钮 New Folder 添加您的文件夹。请看下面的截图:

我还可以为 Eclipse 推荐 Django text editor plugin

【讨论】:

  • 我不明白你从一个文件跳转到另一个文件的意思。我的问题是我什至不能在我的项目中创建一个 Python 模块,因为缺少源文件夹,这是 Django startproject 命令提供的结构。我认为创建这样一个项目的更好方法是使用选项在 Eclipse 中创建 Django 项目并将源文件夹添加到其中。然后我将能够添加模块,但是我可能必须更正 PYTHONPATH。顺便提一句。我知道终端对于运行 Django 命令很方便——我在我的帖子中说过;)。
  • 还要感谢 Eclipse 的 django 插件——等我熟悉 Django 之后,我可能会安装它。
  • 欢迎您。我不明白添加源文件夹的意思。为了将另一个应用程序(=python 模块)添加到您的项目中,只需运行命令 python manage.py startapp appname 如果您按照我的描述设置了 Eclipse 项目,它将显示在 Eclipse 中 .. ;-)
  • 抱歉,我想在 Eclipse 中手动添加单个模块。我是一个 Django 菜鸟,我什至没有进入启动应用程序的部分。但是,将源文件保存在 src/ 文件夹中不是更好的概念吗?
  • 相信我。不需要名为“source”或“src”或其他名称的文件夹。只需遵循 Django 约定即可。作为一个 Django 菜鸟,这是一个完美的起点:docs.djangoproject.com/en/dev/intro/tutorial01 ..
【解决方案2】:

如果您在 Eclipse 中没有源文件夹(例如在导入现有项目之后),您可以右键单击您的项目,选择属性,选择 PyDev - PYTHONPATH,然后添加源文件夹。 例如,在您的情况下,它将是 mysite 文件夹。

之后就可以使用PyDev options(PyDev Module,PyDev Package)选项了。

【讨论】:

    猜你喜欢
    • 2013-06-28
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    相关资源
    最近更新 更多