2017-05-15 4 views
-1

Ich habe eine ziemlich große Django-Web-Anwendung. Die Anwendung ist auf einem Server installiert und funktioniert. Es ist in mehrere Django-Apps unterteilt, die jeweils eigene Modelle und Ansichten haben.Split Django-Anwendung in zwei Python-Pakete

Die Benutzer dieser Anwendung sind auch Programmierer, und manchmal wollen sie Skripte schreiben, die die Datenbank manipulieren. Ich möchte, dass sie die bestehenden Django-Modelle verwenden.

Ich möchte jedoch nicht, dass sie die große Webanwendung berühren, sie sollten nicht in der Lage sein, die Ansichten zu ändern oder Verwaltungsbefehle zu schreiben, die auf dem Server installiert sind. Nur Skripts, die nach eigenem Ermessen auf ihrer eigenen privaten Kopie der Datenbank ausgeführt werden. Idealerweise sollten sie nur sein können.

Was ist der beste Weg, die Anwendung in zwei Teile zu teilen? Man muss eine sehr abgespeckte Django-Anwendung mit nur den Modellen sein (die wiederum in verschiedene Django-Apps aufgeteilt sind). Die andere muss auf der ersten basieren und alles andere bieten - Ansichten, ihre Geschäftslogik, Einstellungen, etc. ...

Antwort

1

Was Sie beschreiben, scheint wirklich komplex.

Ich würde vorschlagen, Git (ex: github) zu verwenden und den vollständigen Code in dort zu setzen.

  • mindestens zwei Zweige: master [Standard], dev
  • Alles, was Produktion bereit sein und wird auf dem Server geschoben werden, können auf dem Master Zweig sein.
  • Alle Ihre Entwickler können an der Verzweigung dev arbeiten oder einen eigenen Zweig erstellen, wenn sie etwas Bestimmtes tun müssen.
+0

Wir verwenden offensichtlich ein Git-Repository mit mehr als diesen beiden Zweigen. Ich sehe nicht, wie es unserem aktuellen Problem hilft. – zmbq

+0

Jeder Entwickler in Ihrem Team kann einen Zweig erstellen, um seinen individuellen Code zu testen, ohne das Django-Projekt aufteilen zu müssen (was sehr komplex erscheint, wenn es überhaupt möglich ist ...) –

+0

Ich sehe. Das könnte tatsächlich funktionieren, ich werde darüber nachdenken. – zmbq