2012-04-14 2 views
-1

Ich benutze Django und ich frage mich, ob es richtig ist myapp.models, im Gegensatz zu myproject.myapp.models, oder in INSTALLED_APPS zu verwenden, sollte der FULL NAME verwendet werden myproject.myapp oder ist es in Ordnung, nur myapp zu verwenden für seinen Namen? Ich wundere mich, denn wenn ich den Projektnamen mit der letzteren Methode ändern würde, würde es meine App zerstören, aber ich bin nicht sicher, dass, nur weil die frühere Methode funktioniert, dass es korrekt ist. Könnte jemand das für mich klären.Ist es angemessen, in Ihrem Django-Projekt auf Ihren Projektnamen zu verweisen?

Vielen Dank!

+4

Fragen Sie 15 Django Entwickler darüber und Sie erhalten 20 Meinungen. –

+0

@ IgnacioVazquez-Abrams: Ich habe Mühe, an mehr als vier oder fünf mögliche Meinungen zu denken; Könnten Sie bitte einige der esoterischen Meinungen öffentlich dokumentieren, die in solchen Forschungen geschützt werden könnten? –

Antwort

1

Ich würde sagen, dass es nicht empfohlen wird, Ihre Apps mit Ihrem Projektnamen zu referenzieren. Ich sage das, weil dies ab Django 1.4 mit einem Standard-Django-Projekt nicht funktioniert. Sie können hier mehr über diese lesen: https://docs.djangoproject.com/en/dev/releases/1.4/#updated-default-project-layout-and-manage-py

Ein Zitat aus, dass:

„Wenn Einstellungen, URLconfs und Anwendungen im Rahmen des Projekts werden importiert oder referenziert den Projektnamen Präfix (zB myproject.settings, ROOT_URLCONF = "myproject.urls", usw.), muss das neue manage.py um ein Verzeichnis nach oben verschoben werden, sodass es sich außerhalb des Projektpakets befindet und nicht an settings.py und urls.py angrenzt. "

Ich würde dagegen empfehlen, da es bedeuten würde, mit der Standardprojektstruktur zu verwirren, nicht eine große Sache, aber erhöhte unnötige Arbeit.

würde ich auch empfehlen, da es Ihre Apps an Ihr Projekt koppelt, was imho geht gegen die Philosophie von Django, die wiederverwendbare, entkoppelte Apps befürwortet.

Verwandte Themen