2009-06-14 3 views
4

Ich spiele mit einem einfachen Projekt, das auf dem Django-Framework basiert. Meine IDE ist PyDev/Eclipse.Wie konfiguriert man Code-Vervollständigung für Django-basierte Projekte in PyDev?

Ich kann nicht Code-Vervollständigung für Django-Code arbeiten, aber es funktioniert gut für Standard-Python-Bibliotheken. Ich habe versucht, Django-Verzeichnis (in meinem Fall C: \ Programme \ Python26 \ Lib \ site-packages \ django) zu PYTHONPATH auf PyDev-Ebene hinzuzufügen (Window-> Preferences-> PyDev-> Interpreter - Python-> libraries) und auf Projektebene (Projekt-> Eigenschaften-> PyDev - PYTHONPATH) - bisher kein Glück.

Können Sie mir bitte mitteilen, was ich hier vermisse (vorzugsweise ohne PyDev-Erweiterungen zu installieren).

+0

Nachdem ich Django dir vom System PYTHONPATH in PyDev entfernt fing es an zu arbeiten.Anscheinend, wenn Ihr django in site-packages installiert ist, ist C: \ Programme \ Python26 \ Lib \ site-packages \ im System PYTHONPATH gut genug (entschuldigen Sie meinen Windows-Akzent). Ich habe versucht, ein anderes Paket (psycopg2) explizit zum System PYTHONPATH hinzuzufügen und das gleiche Ergebnis zu erhalten - die Codevervollständigung hat für psycopg2 nicht mehr funktioniert. Interessante Eigenart von PyDev oder fehlt mir etwas Verständnis dafür, wie PYTHONPATH funktioniert - warum würde es weh tun, diese Ordner hinzuzufügen? – alsan

+0

Nun, wenn Sie den Interpreter in Eclipse bereits konfiguriert haben und dann den psycopg2da-Ordner in Site-Pakete kopieren, müssen Sie ... \ lib \ site-packages \ psycopg2da manuell als neuen Ordner zum "System PYTHONPATH" hinzufügen, um PyDev zu erhalten um das neue Paket zu sehen – jitter

Antwort

1

Ok, ich versuche es noch einmal.

Eklipsein C: \ test \

Python 2.6.2 in C Verdunkelung: \ Test \ Python-2.6.2

Django 1.0.2 final in C: \ test \ Python-2.6.2 \ Lib \ Site-Pakete -> nur die tatsächlichen Django-Ordner nicht die Dokumente, Beispiel, und so weiter. Ich habe dies getan, ohne setup.py wie in der INSTALL-Datei beschrieben auszuführen.

Added C: \ test \ python-2.6.2 und C: \ test \ python-2.6.2 \ Lib \ site-packages zum PATH Variable

Wie beschrieben here I setze den Interpreter in Eclipse mit Window> preferences> pydev> Interpreter> Python. Dies beinhaltete automatisch eine ganze Menge Dinge unter System-Bibliotheken wie (C: \ test \ python-2.6.2 \; C: \ test \ python-2.6.2 \ DLLs; C: \ test \ python-2.6.2 \ lib \ site-packages; ....). Eine ganze Reihe von Forced Builtins wird ebenfalls gefunden.

Dann habe ich ein neues "Pydev Project" ein Paket hinzugefügt und dort ein neues Modul mit einer Klasse und einem Modul, die die Klasse importiert und ruft eine Funktion aus. Während des Schreibens dieser gedrückten Strg + Leertaste mehrmals, und eingebaute sowie die neuen Sachen von meinem Modul wurden durch Codevervollständigung gezeigt.

+1

auch, ein Hinweis, wie Code-Vervollständigung für Ihre Anfrage Parameter in den Ansichten arbeiten. 1. Hinzufügen von django.http importieren Sie HttpRequest an der Spitze von views.py 2. Fügen Sie assert isinstance (Anforderung, HttpRequest) als erste Codezeile Ihrer Ansicht hinzu. Jetzt können Sie die Codevervollständigung für das Anfrageobjekt genießen. Sie können die Anweisung assert später entfernen. basierend auf dieser Diskussion: http://www.mail-archive.com/[email protected]/msg02595.html – alsan

+0

PyDev kann das HttpRequest * nicht korrekt * typehinthen. Weil Djangos HttpRequest voller Magie ist. Zum Beispiel kann es keine Benutzereigenschaft finden, es kann keine FILES-, GET-, POST-Parameter finden. Es sieht die Codierung nicht als Eigenschaft, sondern als eine Methode. Seufzer. Übrigens kann man einfach "' request: HttpRequest "eingeben, umhinzukommen, wenn die zugrunde liegende Klasse nicht magisch gefüllt ist. – Ciantic

0

ich vorschlagen Configuring pydev to work with django und

Getting started Eclipse/Pyddev

Im letzteren man dort ein Abschnitt für Code-Vervollständigung spezifisch ist, das ein Problem mit der Firewall oder Shell-Timeout erwähnt. Und in einem anderen Abschnitt erwähnt er Probleme, wenn (wie in Ihrem Fall) die Eclipse-Installationen Leerzeichen im Dateipfad haben.

+0

Ich habe diesen Beitrag gesehen, es geht nicht viel Details über die Konfiguration von PYTHONPATH für Django – alsan

0

Ich löste Einstellung der PYTHONPATH auch. Klicken Sie in den Paletten Projekten mit der rechten Maustaste auf das Projekt -> Eigenschaften In der PYTHONPATH-Konfiguration müssen Sie den Ordner, der Ihr Projekt enthält, als externen Ordner ablegen.

Exemple: /var/www/my_project PYTHONPATH =/var/www/

Verwandte Themen