Django-Vcexport

Django Model Instances exporteur
Download nu

Django-Vcexport Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Ethan Jucovy

Django-Vcexport Tags


Django-Vcexport Beschrijving

Django-modelinstanties exporteur Django-VCEXPORT is een flexibele bibliotheek voor het exporteren van geserialiseerde Django-model-instanties automatisch of handmatig naar een versie-gecontroleerde repository of handmatig. Hoe werkt het een api-level-niveau-niveau en een Model-Level-API om exportgedrag per exportgedrag te definiëren Modelklasse, met automatische export op Save.gebruik de API-niveau-niveau om exportgedrag in weergaven (bijvoorbeeld) te definiëren en expliciet de inhoud van de inhoud uit uw eigen code te activeren. Het ontwerp van het model-niveau is geïnspireerd door Django's Modeladmin- en Modelform-aspect- georiënteerd patroon. Het kerngedrag zijn gedefinieerd in de VCEXPORT.MODELS.EXPORTER-klasse, die analoog is aan modeladmin. Net als Modeladmin en Modelform, ondertast u de standaard basis om het gedrag op basis van per model aan te passen. 1. Registreer voor automatische versie van modellen, registreer ze met VCEXPORT: importeer VCEXPORT VCEXPORT.REGISTER (MYMODEL) Hiermee wordt een post_Save-signaal aansluit. 2. U kunt het exportgedrag op een per-modelbasis aanpassen door VCEXPORT.MODELS.EXPORPORTER EN TE VERTELLEN VCEXPORT om uw model te registreren met de aangepaste exporteur: KLASSE MYEXPORTER (VCEXPORT.MODELS.EXPORTER): ... VCEXPORT.REGISTER ( MyModel, Exporteur = MyExporter) 3. Standaard zijn modellen geserialiseerd naar het XML-formaat van Django, omdat het goed werkt met diff en generiek is. 4. U kunt de serialisatie per model aanpassen door een aangepaste sjabloonpad te passeren als een klasse kenmerk: Klasse MyExporter (exporteur): Repository_Template = 'Flem / Document_Format.txt' De sjabloon wordt weergegeven met twee contextvariabelen; Object dat is het modelinstantie dat werd opgeslagen, en een Boolean gemaakt: {% indien aangemaakt%} Nieuw object! {% endif%} {{object.title}} {{object.related_field.pk}} **** kleur : {{object.color}} {{Object.Description}} Hiermee kan alternatieve gebruiksgevallen worden ondersteund: * U wilt een model Groothandel gebruiken * U hebt een model met een of twee documentachtige tekstvelden en u Wilt u alleen die velden verzenden - Schrijf gewoon geen andere velden op in de serialisatiesjabloon. 5. Standaard worden de documentdumps van uw modelinstanties opgeslagen in repositorypaden die eruitzien als / App_Name / ModelClassName / Exegion_PK. U kunt het pad aanpassen: Klasse MyExporter (exporteur): Def Repository_Path (Self): Return '/ My_Custom / Path_FOR / This_Model /' + Self.Object.Color Merk op dat als u dit doet, u kunt eindigen met meerdere Model-instanties opslaan in hetzelfde bestandspad in de repository. Dit is een functie. 6. De standaard committing-gebruiker is ongedefinieerd. Op dit moment kun je dit niet aanpassen. Het standaard Commit-boodschap is oninteressant: "Object {{instance.pk}} (van '{{app_name}}}. {{Model_name}}') opgeslagen door Django-Vcexport." U kunt het Commit-bericht aanpassen met een modelmethode die een boolean heeft gemaakt, en retourneert een tekenreeks: Klasse MyExporter (exporteur): Def Repository_Commit_Message (Zelf, Gemaakt): indien gemaakt: Return "Gebruiker% S heeft een nieuwe% S"% aangemerkt (Self.Object.User.UserName, self.object.color) Terugkeren "Gebruiker% s Committed% S"% (self.object.user.username, self.object.color) Het applipatie-niveau kan ook de inhoud exporteren Expliciet, bijvoorbeeld in de methode van uw model (), in de weergave-code, enz., Met de VCEXPORT.EXPORT_TO_REPOSEITEFUNCTIE: DEF MY_VIEW (verzoek): ... object = mymodel.objects.get (...) object.morx = aanvraag.post Object.Save () importeren VCEXPORT VCEXPORT.EXPORT_TO_REPOSEITE (Object) De standaardsjabloon, Boekbericht, enz. Zijn hetzelfde als bij het model API. U kunt ze in uw eigen code aanpassen en deze doorgeven aan export_to_repository: DEF MY_VIEW (verzoek): ... object, gemaakt = mymodel.objects.get_or_create (...) object.morx = aanvraag.post .AVE () importeren VCEXPORT VCEXPORT.EXPORT_TO_REPOSEITORITEIT (Object, gemaakt = gemaakt, repository_template = '/ Flem / Morx.html', Message = "Gewijzigd Morx", Repository_Path = '/ Flem / Objects /% S'% object.pk ) De functie van de export_to_repository retourneert de herziening van de commit of geen als er geen wijzigingen waren in commit.ConfigurationU moet een stuk configuratie opgeven in uw instellingen.py-bestand: * VCEXPORT_CHECKOON_DIR: het absolute pad naar een lokale uitcheckoptie van de repository U wilt uw gegevens opslaan in u zal uw repository moeten initialiseren en zelf afrekenen. Om met subversie te gebruiken, moet u PYSVN hebben geïnstalleerd. Vereisten: · Django · Python Wat is er nieuw in deze release: · Brown-bag-release; Made Export_To_Repository-functie beschikbaar als Public API (vcexport.export_to_repository).


Django-Vcexport Gerelateerde software