Hallo alle,
hier meine erste Frage: ich gehe gerade die Tutorials durch und finde dort beispielsweise folgende Zeile:
container.Files.manage_addProduct['OFSP'].manage_addFile(id='', title='', file=file)
da wird wohl in die zodb ein neues File eingebaut oder?
Da ich jetzt aber Dicts persistent abspeichern möchte ist das nicht so genau das was ich suche...
Wo kann ich die funktionen finden um ein Dict abzuspeichern?
Ok api habe ich gefunden bin aber immernoch völlig ratlos wie ich jetzt einfache variablen die ich in einem Skript verwende persistent abspeicher.
Die ganzen Tutorial handeln von zobd ausserhalb von zope...
ich denke in zope muss ich nicht extra eine verbindung zu einer DB aufbauen...
wenn ich aber sowas wie
context.Folder['irgendwas'] = 15 schreibe klappt das nicht.
Bin echt ratlos...und mir irgendwie auch klar darüber einer eigentlich trivialen aufgabe gegenüber zu stehen
Ich bin für jede Anregung dankbar und bin mit ein paar Stichwörtern zufrieden..
Danke muli
Einsteigerfrage: API
Moment Starte grad mein Zope
Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. - Linus Torvalds
[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]
[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]
[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]
[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]
Willkommen im Python Forum, muli
Ich mach das so (tmp ist ein ordner)
Ich mach das so (tmp ist ein ordner)
Code: Alles auswählen
data={'irgenwas':'123'}
context.tmp.manage_changeProperties(data)
Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. - Linus Torvalds
[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]
[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]
[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]
[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]
Danke!
aber:
Warum kann ich die Funktion
manage_changeProperties
dann nicht in hier
http://localhost:8080/HelpSys in der API finden
wenn tmp ein Folder ist sollre die Funktion doch in Folder oder einem seiner Vorfahren zu finden sein.
Wenn nicht dort wo kann ich die information denn sonnst finden?
???
Speichert man auch grosse Datenmengen als Property eines Folders.
kommt mir hier irgendwie alles komisch vor.
muli
aber:
Warum kann ich die Funktion
manage_changeProperties
dann nicht in hier
http://localhost:8080/HelpSys in der API finden
wenn tmp ein Folder ist sollre die Funktion doch in Folder oder einem seiner Vorfahren zu finden sein.
Code: Alles auswählen
class Folder(ObjectManagerItem, ObjectManager, PropertyManager)
???
Speichert man auch grosse Datenmengen als Property eines Folders.
kommt mir hier irgendwie alles komisch vor.
muli

Ok ich hab da auch noch eine Verständnisfrage zu dem Tutorial:
Dieses Guestbook speichert Einträge in einer Datei.
Diese wird dann noch zusatzlich in dieser ZODB gespeichert? Häh wo liegt da der Sinn?
und überhaupt es wird an jeder stelle behauptet wie einfach es sein ein Python Object in der ZOBD zu speichern...
Ich bin vielleicht zu dumm aber ich lese jetzt schon seid einigen Tagen und nirgends zeigt man mir wie...
alles was ich finde sind anmerkungen wie die ZODB ohne zope funktioniert.
Das ist ja alles schön und gut aber wenn ich jetzt eine Persistente Klasse in zope2 in einem Skript habe und die einfach nur in diese Datenbank hauen will und danach vielleicht wieder löschen steht das nirgends. diese hübsche append() funktion die die da immer mit dem root objekt verwenden funktioniert bei mir nicht wenn ich die auf ein Folder anwende...
Es wäre echt toll wenn mir das mal jemand in ein paar worten erklären könnte..
muli
Dieses Guestbook speichert Einträge in einer Datei.
Diese wird dann noch zusatzlich in dieser ZODB gespeichert? Häh wo liegt da der Sinn?
und überhaupt es wird an jeder stelle behauptet wie einfach es sein ein Python Object in der ZOBD zu speichern...
Ich bin vielleicht zu dumm aber ich lese jetzt schon seid einigen Tagen und nirgends zeigt man mir wie...
alles was ich finde sind anmerkungen wie die ZODB ohne zope funktioniert.
Das ist ja alles schön und gut aber wenn ich jetzt eine Persistente Klasse in zope2 in einem Skript habe und die einfach nur in diese Datenbank hauen will und danach vielleicht wieder löschen steht das nirgends. diese hübsche append() funktion die die da immer mit dem root objekt verwenden funktioniert bei mir nicht wenn ich die auf ein Folder anwende...
Es wäre echt toll wenn mir das mal jemand in ein paar worten erklären könnte..
muli
Was genau meinst du mit
Ich musste mich schon oft mit dieser Dokumentation rumärgern,
die ist nämlich nicht sinderlich toll.
Ich nutze die API Referenz aus dem Buch
Übrigens:diese hübsche append() funktion
Ich musste mich schon oft mit dieser Dokumentation rumärgern,
die ist nämlich nicht sinderlich toll.
Ich nutze die API Referenz aus dem Buch
Zope : [Grundlagen, Praxis, Referenz ; Entwicklung von dynamischen Webanwendungen ; aktuell zu Zope 2.6/2.7 und 3.0 ; mit kompletter API-Referenz] / Peter Walerowski. - 1. Aufl.. - Galileo Press
Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. - Linus Torvalds
[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]
[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]
[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]
[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]
Von dem Buch habe ich schon gehört, vielleicht lege ich mir das auch mal zu.
Das mit dieser append() funktion finde ich gerade auch nicht wieder.. keine Ahnung ... war ziemlich übermüdet als ich das gestern geschrieben habe.
Aber mal allgemein: Wenn ich jetzt mal so eine Persistente klasse in zope speichern möchte wie mach ich das? Soll ich die wirklich als ein attribut eines Folders schreiben?
Ich dachte mir ich verwende das Folderobjekt als Container in dem ich dann wie beispielsweise ein File auch ein Objekt meiner Wahl ablegen kann.
Muss ich das Objekt dann erst zu einem Product machen?
Darunter versteh ich aber nicht einfach.
Auf der Zope
The root object is the dictionary that holds all of your persistent objects. For example, you can store a simple list of strings in the root object:
>>> root['employees'] = ['Mary', 'Jo', 'Bob']
>>> get_transaction().commit()
hier zeigen die aber nur wie ich diese zodb ausserhalb von zope verwende (und das auf der zope seite???)
Ich habe das alles so verstanden dass ich in zope auch ein root verzeichnis habe das mit dem in dem Tutorial vergleichbar ist.
Also sollte ich doch mit sowas hier in einem skript auch etwas speichern können:
muss ich dann in zope auch commiten?
oder muss ich vorher noch extra eine verbindug zu der Data.fs aufbauen?
Dann sagt er mir das er die nicht 'locken' kann.
Naja wie ihr seht bin ich immer noch so schlau wie zuvor?
Ich denke ich brauche nur ein paar zeilen Code um zu sehen wie man denn nun diese verdammte zobd in zope2 bedient und aus einem Skript heraus etwas speichert.
Ich bitte weiterhin untertänigst um Hilfe
muli
Das mit dieser append() funktion finde ich gerade auch nicht wieder.. keine Ahnung ... war ziemlich übermüdet als ich das gestern geschrieben habe.
Aber mal allgemein: Wenn ich jetzt mal so eine Persistente klasse in zope speichern möchte wie mach ich das? Soll ich die wirklich als ein attribut eines Folders schreiben?
Ich dachte mir ich verwende das Folderobjekt als Container in dem ich dann wie beispielsweise ein File auch ein Objekt meiner Wahl ablegen kann.
Muss ich das Objekt dann erst zu einem Product machen?
Darunter versteh ich aber nicht einfach.
Auf der Zope
Seite finde ich folgendes:
The root object is the dictionary that holds all of your persistent objects. For example, you can store a simple list of strings in the root object:
>>> root['employees'] = ['Mary', 'Jo', 'Bob']
>>> get_transaction().commit()
hier zeigen die aber nur wie ich diese zodb ausserhalb von zope verwende (und das auf der zope seite???)
Ich habe das alles so verstanden dass ich in zope auch ein root verzeichnis habe das mit dem in dem Tutorial vergleichbar ist.
Also sollte ich doch mit sowas hier in einem skript auch etwas speichern können:
Code: Alles auswählen
context.irgendeinFolder['employees'] = ['Mary', 'Jo', 'Bob']
oder muss ich vorher noch extra eine verbindug zu der Data.fs aufbauen?
Dann sagt er mir das er die nicht 'locken' kann.
Naja wie ihr seht bin ich immer noch so schlau wie zuvor?
Ich denke ich brauche nur ein paar zeilen Code um zu sehen wie man denn nun diese verdammte zobd in zope2 bedient und aus einem Skript heraus etwas speichert.
Ich bitte weiterhin untertänigst um Hilfe
muli
Die ZDB ist im gegensatz zu MYSQL eine Objektorientierte Datenbank.
Du must dich nicht mit ihr Verbinden!
Sieh es mal so:
Du möchtest z.B. eine Datenbank mit Büchern haben.
Also erstellst du wie du schon gesagt hast einen Ordner als Container.
In diesem Ordner wird dann für jedes Buch sprich Objekt ein neuer Ordner erstellt. (Bei mir mit fortlaufender Nummer als Id)
Er representiert ein einzelnes Buch und bekommt dann Eigenschaften zugewiesen z.B.:
Autor: draci
Titel: ZOPE Programming
...
Dass kanst du dem Ordner wie ich oben beschrieben habe so zu weisen:
Ach ja, du kannst URLs übrigens ganz einfach mit dem URL Button zu einem echten Hyperlink machen,auf den man dann auch klicken kann.
Toll gell
Du must dich nicht mit ihr Verbinden!
Sieh es mal so:
Du möchtest z.B. eine Datenbank mit Büchern haben.
Also erstellst du wie du schon gesagt hast einen Ordner als Container.
In diesem Ordner wird dann für jedes Buch sprich Objekt ein neuer Ordner erstellt. (Bei mir mit fortlaufender Nummer als Id)
Er representiert ein einzelnes Buch und bekommt dann Eigenschaften zugewiesen z.B.:
Autor: draci
Titel: ZOPE Programming
...
Dass kanst du dem Ordner wie ich oben beschrieben habe so zu weisen:
Code: Alles auswählen
data={'autor':'draci',
'title':'ZOPE Programming'}
context.container_ordner[id_des_buches_als_string].manage_changeProperties(data)
Toll gell

Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. - Linus Torvalds
[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]
[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]
[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]
[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]
Danke Du hast mir sehr geholfen...
Aber ich würde da trotzdem gerne noch etwas nachhaken:
Speichere ich also z.B: irgendein persistentes Objekt, MeineKlasse, in der Regel in einem Folder Objekt?
Ist da nicht ein objekt überflüssig?
Wenn ich also verschiedenen Bücher (in deinem Beispiel) habe und man persistent python klassen Speichern kann, kann ich dann nicht auch in einem Folder Bücher alle Instanzen meiner Bücherklasse ablegen?
Wenn ich in einer external Method folgendes schreibe:
Dann wird dies persistent gespeichert.
Ich kann das mit here/info in einem pageTemplate ausgeben
Wenn ich aber here/objectItems abfrage dann taucht das nicht auf!
Was ist das? ein Objekt im nirgendwo?
Ist das überhaupt ein ZopeObjekt? sollte es doch eigentlich wenn es in der ZODB gespeichert wird.
Wie kann ich solch ein Objekt wieder loeschen? oder ändern?
vielen Dank
muli
Aber ich würde da trotzdem gerne noch etwas nachhaken:
Speichere ich also z.B: irgendein persistentes Objekt, MeineKlasse, in der Regel in einem Folder Objekt?
Ist da nicht ein objekt überflüssig?
Wenn ich also verschiedenen Bücher (in deinem Beispiel) habe und man persistent python klassen Speichern kann, kann ich dann nicht auch in einem Folder Bücher alle Instanzen meiner Bücherklasse ablegen?
Wenn ich in einer external Method folgendes schreibe:
Code: Alles auswählen
self.info = {'hallo':300}
Ich kann das mit here/info in einem pageTemplate ausgeben
Wenn ich aber here/objectItems abfrage dann taucht das nicht auf!
Was ist das? ein Objekt im nirgendwo?
Ist das überhaupt ein ZopeObjekt? sollte es doch eigentlich wenn es in der ZODB gespeichert wird.
Wie kann ich solch ein Objekt wieder loeschen? oder ändern?
vielen Dank
muli
Tut mir leid, hab mich noch nie damit befasst.
Es gibt glaube ich ein Modul für Perpesistente Objecte.
vielleicht kennt sich jemand anderes damit aus.

Es gibt glaube ich ein Modul für Perpesistente Objecte.
vielleicht kennt sich jemand anderes damit aus.

Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. - Linus Torvalds
[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]
[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]
[url]http://groups.google.com/group/pt.comp.so.linux/msg/9eb7db59e32fe08a[/url]
[url=http://www.tty1.net/smart-questions_de.html]Wie man richtig Fragen stellt[/url]