Führer in der Organisation von großen Django-Projekte
Jemand empfehlen könnte, eine gute Anleitung/tutorial/Artikel mit Tipps/Richtlinien, wie zu organisieren und die partition, die eine große Django-Projekt?
Ich bin auf der Suche für Ratschläge, was zu tun ist, wenn Sie brauchen, um zu starten factorizing die erste unique-Dateien (models.py, urls.py, views.py) und arbeiten mit mehr als ein paar Dutzend Personen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jede "Anwendung" sollte klein sein-eine einzelne wiederverwendbare Entität, plus ein paar Tabellen. Wir haben über 5 plus/minus 2 Tabellen pro Anwendung Modell. Die meisten unserer halbes Dutzend Anwendungen werden von weniger als 5 Tabellen. Man hat null-Tabellen in das Modell.
Jede Anwendung sollte so gestaltet werden, dass ein Mehrweg-Konzept. In unserem Fall wird jeder Anwendung ein Stück von der Website insgesamt; die Anwendungen können entfernt werden und ersetzt werden getrennt.
In der Tat, das ist unsere Strategie. Da unsere Bedürfnisse erweitern und Reifen, können wir Sie entfernen und ersetzen Anwendungen unabhängig voneinander.
Es ist okay, haben Anwendungen, die voneinander abhängen. Jedoch, die Abhängigkeit hat nur auf die offensichtlichen Dinge wie "Modelle" und "Formulare". Auch können Anwendungen abhängen, die Namen in jeder anderen URL. Daher, Ihrer namens-URL muss die form haben, wie das "application-Ansicht", so die
reverse
- Funktion oder die{% url %}
tag finden Sie richtig.Jede Bewerbung sollte enthalten eigene batch-Befehle (in der Regel über einen formellen Befehl, können gefunden werden, indem die
django-admin
Skript.Schließlich, alles, was komplexer als ein einfaches Modell oder form, die wahrscheinlich nicht gehören-Anwendung, benötigt aber eine separate shared library. Zum Beispiel verwenden wir XLRD, aber wickeln Sie Teile, die Sie in unserer eigenen Klasse, so dass es mehr wie die eingebauten
csv
Modul. Dieser wrapper für XLRD nicht ein richtiger Teil einer Anwendung, um ein separates Modul außerhalb der Django Anwendungen.Ich habe festgestellt, dass es hilfreich sein, einen Blick auf große open-source Django-Projekte und beachten Sie, wie das Projekt funktioniert es. Django ' s-Website hat eine gute Liste von open-source-Projekte:
http://code.djangoproject.com/wiki/DjangoResources#Open-SourceDjangoprojects
Wie Google (obwohl die meisten von diesen sind kleinere add-in-template-tags und Middleware:
http://code.google.com/hosting/search?q=label:django
Natürlich, nur weil ein Projekt braucht es einen Weg, bedeutet nicht, dass so Der Richtige Weg ist (oder Die Falsche Art und Weise). Einige dieser Projekte sind erfolgreicher als andere.
In der Ende, der einzige Weg, um wirklich lernen, was funktioniert und nicht funktioniert, ist, es selbst auszuprobieren. Alle Tipps und Hinweise in der Welt wird nicht helfen, es sei denn, Sie versuchen es selbst, aber Sie kann Ihnen helfen, Schritte in die richtige Richtung.