Relative Importe

8

Ich lese zwei Tipps für Django Best Practices, damit sich mein Coding-Stil verbessert. Ich bin in relativen Importen und hier ist der Beispielcode, um es wiederverwendbar zu machen.

%Vor%

Der Code oben ist für Kegel-App, was ist, wenn ich das andere Modell in anderen App aufrufen? Muss ich so sagen:

%Vor%

Was ist der richtige Weg?

    
catherine 08.02.2013, 07:08
quelle

2 Antworten

17

Normalerweise verwende ich solche Importe nur aus einem Grund

%Vor%

Der Grund dafür ist Wenn morgen mein Modulname sich von "test" zu "mytest" ändert, dann benötigt der Code kein Refactoring. Der Code funktioniert ohne zu brechen.

Aktualisieren

Alle Importe beginnen mit einem '.' Punkt, funktioniert nur innerhalb dieses Moduls. Kreuzmodulimporte benötigen den gesamten Pfad.

    
Crazyshezy 08.02.2013, 07:15
quelle
3

Wenn test eine andere App ist,

%Vor%

wird nicht funktionieren.

Aktualisierung:

Sie können relative Importe nur verwenden, wenn Sie aus derselben App importieren.

Innerhalb von test app

%Vor%

funktioniert. Aber Sie benötigen immer noch das vollständige Formular

%Vor%

Wenn Sie eine Methode importieren, die in foo von test app.

definiert ist

Wenn Sie also Ihre Frage beantworten, ist der zweite Weg der richtige.

    
Antony Hatchkins 08.02.2013 07:16
quelle

Tags und Links