Frage

Was würde eine bestehende Drupal-Website zu einer Django-Anwendung der beste Weg zum Hafen sein? Ich habe rund 500 Seiten (meist Bücher-Modul) und rund 50 Blog-Posts. Ich bin keine 3rd-Party-Module verwenden. Ich möchte die aktuellen URLS halten (für SEO Zwecke) und migrieren Datenbank Django. Ich werde eine einfache Blog-Anwendung erstellen, so sollte ok sein Blog-Beiträge zu migrieren. Was wäre der beste Weg, mehr als 500 Seiten mit Django zu dienen? Ich möchte Admin verwenden, bearbeiten / neue Seiten hinzufügen.

War es hilfreich?

Lösung

Alle Django Entwicklung ist ähnlich, und Sie werden das Muster passen.

  1. Definieren Sie das Django-Modell für Ihre Bücher und Blog-Posts.

  2. Unit-Test, dass Modell mit Djangos eingebaute Testfunktionen.

  3. einige kleine Dienstprogramme Schreiben Sie Ihre Legacy-Daten in Django zu laden. An diesem Punkt werden Sie feststellen, dass Ihr Django Modell nicht perfekt ist. Gut. Repariere es. Befestigen Sie die Tests. Wiederholen der Lasten.

  4. Konfigurieren Sie die Standard-Admin-Schnittstelle zu Ihrem Modell. An diesem Punkt haben Sie Zeit Tweaking die Admin-Schnittstelle ausgeben. Sie werden Ihr Datenmodell ist falsch erkennen. Das ist eine gute Sache. Fixieren Sie Ihr Modell. Fix Ihre Tests. Fix Ihre Lasten.

  5. Nun, da Ihre Daten korrekt sind, können Sie Vorlagen aus Ihren Legacy-Seiten erstellen können.

  6. URL-Zuordnungen und Ansichtsfunktionen erstellen, um die Vorlagen aus dem Datenmodell zu füllen.

Nehmen Sie die Zeit, um das Datenmodell richtig zu machen. Es ist wirklich wichtig ist, denn alles andere ist sehr einfach, wenn Ihr Datenmodell fest ist.

Andere Tipps

Es kann möglich sein Django Modelle zu schreiben, die mit der alten Datenbank arbeiten (ich habe dies in der Vergangenheit getan haben, siehe docs auf manage.py inspectdb)

.

Allerdings würde ich Rat oben folgen und eine saubere Datenbank Konventionen Django entwerfen, und dann die Daten über Migration. Ich schreibe in der Regel Migrationsskripte, die in die neue Datenbank durch Django schreiben und lesen die alte die rohen Python DB-APIs (während es möglich ist, Django mehr Datenbanken gleichzeitig , auch).

Ich schlage vor, auch einen Blick auf die verfügbaren Blogging-Anwendungen für Django nehmen. Wenn die ein, die in Pinax Ihren Bedarf passt, gehen Sie voran und verwenden Pinax als Ausgangspunkt.

S.Lott Antwort noch gültig nach Jahren, ich versuche, die Analyse mit den Werkzeugen und Format zu vervollständigen zu tun der Job.

Es gibt viele Drupal Export-Tools von dort jetzt, aber mit der gleichen Anfrage Ich gehe für Aufrufe Datenquelle JSON Auswahl als Format. Dieses Modul ist sehr solide und für die letzte Version von Drupal. Die JSON Format ist sehr schnell sowohl in der Analyse und Codierung und es ist leicht zu lesen und sehr Python-freundlich (< a href = "https://docs.python.org/2/library/json.html" rel = "nofollow noreferrer"> Import json ).

Ansichten Datasource Sie einen Knoten Ansicht von Knoten-ID (NID) sortiert erstellen können, zeigen eine begrenzte Anzahl von Elementen pro Seite, eine Ansicht Pfad konfigurieren, fügen Sie einen Filter Kennung sie und übergeben ihm die nid alle Elemente lesen bis Sie eine leere JSON-Antwort erhalten.

Wenn in Django Importieren Sie eine große Sammlung von Tools haben auch, ausgehend von Loaddata laden Armaturen . Ansichten Datenquelle exportiert JSON, aber es ist nicht formatiert, wie Django Leuchten erwartet: Sie schreiben PostgreSQL als DBMS, Protokollierung Erfolgs- und Fehlerinformationen in ein benutzerdefiniertes Modell für jeden Knoten.

Dies sind die Grundlagen für den Import / Export zwischen diesen beiden Plattform für detaillierte Informationen, die ich alle beschriebenen wichtige Schritte für den Export von Drupal und dann in diesem Handbuch Django importieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top