maximus
maximus

Reputation: 11524

Integrate django via pydev in eclipse?

I have installed eclipse indigo and pydev and python 32.

I have configured my python path and can create an "empty" django project:

enter image description here

However, when I run right click on project and run as->pydev: django

I get:

Traceback (most recent call last):
  File "C:\Users\djangoworkspace\test3\src\manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 443, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 69, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in import_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 8, in <module>
    from django.core.servers.basehttp import AdminMediaHandler, run, WSGIServerException, get_internal_wsgi_application
  File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 26, in <module>
    from django.views import static
  File "C:\Python27\lib\site-packages\django\views\static.py", line 95, in <module>
    template_translatable = ugettext_noop(u"Index of %(directory)s")
  File "C:\Python27\lib\site-packages\django\utils\translation\__init__.py", line 75, in gettext_noop
    return _trans.gettext_noop(message)
  File "C:\Python27\lib\site-packages\django\utils\translation\__init__.py", line 48, in __getattr__
    if settings.USE_I18N:
  File "C:\Python27\lib\site-packages\django\utils\functional.py", line 184, in inner
    self._setup()
  File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 42, in _setup
    self._wrapped = Settings(settings_module)
  File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 95, in __init__
    raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'C:\Python27\Lib\site-packages\django\conf\project_template\settings.py' (Is it on sys.path?): Import by filename is not supported.

Any idea what I ned to fix to run a django project in eclipse?

Upvotes: 10

Views: 5899

Answers (3)

Javed
Javed

Reputation: 6239

Right click on the project and select 'Pydev-Django' and the following

  1. 'Django manage.py': this is relative path to the manage.py file with respect to the project root
  2. 'Django settings module:' this is python dotted path to the setting file being used (exclude .py) as shown below enter image description here

if you see the message " Module: x.x.setting could be found" as in the picture above then add this project to the python path as show below

right click the project and select Pydev - PYTHONPATH

enter image description here

now python project is added

enter image description here

After adding python path to the project settings module is found enter image description here

Everything will fine now :) note: This was made using django 1.10 and pydev 5.2

Upvotes: 5

sk8asd123
sk8asd123

Reputation: 1705

  • Go to Window -> Preferences -> Pydev -> Interpreter - Python
  • Go to the String Substitution Variables tab
  • Add the 2 following variables:
    • DJANGO_MANAGE_LOCATION with the path to django/conf/project_template/
    • DJANGO_SETTINGS_MODULE with the /settings/

Upvotes: 4

ilovett
ilovett

Reputation: 3388

Be sure to follow these steps from http://pydev.org/manual_adv_django.html

  1. The project must be marked as a Django project inside of PyDev.

  2. A DJANGO_MANAGE_LOCATION string substitution variable must point to the project-relative location of manage.py.

  3. A DJANGO_SETTINGS_MODULE string substitution variable must contain the name of the settings module in that project.

DJANGO_SETTINGS_MODULE is actually python module name, not a specific file. So your DJANGO_SETTINGS_MODULE should be 'project_template.settings'

Upvotes: 5

Related Questions