Автозаполнение в Django + Pydev - PullRequest
2 голосов
/ 19 июля 2011

Я пытаюсь заставить pydev автоматически завершать мои переменные из данных модели, но пока я не смог этого сделать.

Я настроил PYTHONPATH в

Window->Preferences->PyDev->Interpreter - Python

для включения как папки django, так и папки моего проекта.

Тогда, если у меня есть такая модель:

class Team(models.Model):
  name = models.CharField(max_length=50)
  id = models.IntegerField()

и из другого файла того же проекта django я импортирую этот файл

from MyProject.MyApp.models import Team

Завершение кода работает, если я, например, (я использую CTRL + ПРОБЕЛ, чтобы показать мне optiosn автодополнения)

team = Team.objects.[CTRL+SPACE]

Но тогда это не сработает, если я захочу «автозаполнить» переменные t. Например

team.[CTRL+SPACE]

не дает мне никаких опций. Есть идеи, как решить проблему? Спасибо

ОБНОВЛЕНИЕ: Я копал больше о происхождении проблемы, и это не связано с конфигурацией пути или конфигурациями автозаполнения, кажется, что это связано с определением типа объекта система не способна обнаружить, что команда является объектом команды, и поэтому она не показывает свойства объекта).

Ответы [ 2 ]

2 голосов
/ 19 июля 2011

Добавили ли вы пакеты вашего сайта и папку вашего проекта в Pythonpath PyDev?

Щелкните правой кнопкой мыши папку вашего проекта и ...

PyDev> Установить как проект PyDev

Снова щелкните правой кнопкой мыши и ...

Свойства> PyDev - PYTHONPATH

Нажмите на внешние библиотеки.Нажмите на Добавить исходную папку.Выберите папку вашего проекта, а также папку ваших пакетов сайта.Если вы используете virtualenv, и, конечно, почему бы вам не быть;) вы захотите выбрать подходящие пакеты для сайта virtualenv.Вам не нужно выбирать системную папку site-packages.

Теперь давайте проверим настройки автозаполнения ... Window> Preferences> PyDev> Editor> Completion Code

У меня установлено автозаполнение на всехно закрывающая круглая скобка, с задержкой автозаполнения 0. Я бы также не рекомендовал включать автоимпорт.

Надеюсь, что это поможет!

0 голосов
/ 19 июля 2011

Автодополнение объекта Model.object прервано или, по крайней мере, это было в 2008 году:

http://www.mail-archive.com/django-users@googlegroups.com/msg52874.html

Вы используете последнюю версию?

...