Django-Importeur. Ranking & Zusammenfassung
- Lizenz:
- Other/Proprietary Li...
- Name des Herausgebers:
- Enrico Batista da Luz
- Website des Verlags:
- http://github.com/ricobl/
Django-Importeur. Stichworte
Django-Importeur. Beschreibung
Datenimporteure für Django-Modelle Der Django-Importeer ist ein Django-Plugin, das grundlegende Funktionen zur Importierung von Daten in Django-Modelle bietet, um die einfache Erstellung benutzerdefinierter Importeure zu ermöglichen. Hoch ausdehnbare und anpassbare Formate werden häufig anormalisiert. Das Projekt zielt nicht darauf ab, der Importeur "All-in-One" / "jeden Format" nicht zu sein, sondern eine saubere, um eine flexible Schnittstelle zur Verfügung zu stellen, um benutzerdefinierte Importeure zu schreiben. Überspritzt mehr als Worte, also gehen wir mit einem Praktischen Beispiel.let sagen, dass Sie in Ihrem Projekt eine Nachrichtenanwendung haben und Daten aus einer XML-Datei importieren möchten: 1 2009-04-20 Django-Importeer veröffentlicht Heute, Dango-Importeur wurde veröffentlicht ... ... die Modelldefinition: Klasseneintrag (Models.Model): # Externe Quell-ID , um bereits importierte Elemente externe_id = modells.DE-Eigenschaften zu behalten Nun beginnt die Magie, lass uns den Importeur schreiben. Wir müssen jedes Feld unseres News-Entry-Modells auffüllen, das Erstellungsdatum von der Zeichenfolge auf ein Python-Datum konvertieren und das Veröffentlichungsdatum in die nächste Stunde einplanen Meta (xmlimporter.meta): # xmlimporterspezifische Meta-Eigenschaft: Der NodeName, der einen XML-Element item_tag_name = 'item' # identifiziert, der die Liste der Modellfeldnamen erwartet, die voraussichtlich aus den Quellfeldern importiert werden sollen = ('external_id', 'headline', 'cremesion_date', 'story') # A Wörterbuch-Mapping-Modell Feldnamen an Datenquellen-Identifiers # In diesem Fall zeigt Mappings auf XML-Knoten Field_Map = {'external_id': 'ID', 'creation_date': 'Datum', 'Schlagzeile' : 'title', 'story': 'content',} # Liste der Felder, die einen Artikel als einzigartige Unique_Fields = ('external_id',) def §_creation_date (Self, Element, Field_name, Source_name): # Holen Sie den Wert `surce_name `vom XML` item` für das Feld `field_name` # in anderen w Ords: Lesen Sie den "Datum" -Knoten-Inhalt, um das Feld "Creation_Date" von unserem Modell aufzufüllen. val = self.get_value (item, source_name) # in ein Python-Datum konvertieren Datum Return datetime (* val.split ('-')) def Save_Item (Self, Artikel, Daten, Instanz, Commit = TRUE): # Wenn der Artikel ist Neu, Setup ein Veröffentlichungsdatum, wenn nicht Instanz.Pk: extinance.pub_date = dateTime.now () + timedelta (stunden = 1) falls Commit: Instance.Save () Return InstanceAnd Das ist es. Jetzt können wir unseren Importeur instanziieren und anfangen.
Django-Importeur. Zugehörige Software