tal-Große Datenmengen aufteilen

Django, Flask, Bottle, WSGI, CGI…
Antworten
Benutzeravatar
draci
User
Beiträge: 53
Registriert: Dienstag 26. September 2006, 18:13

Hallo Forum!

Ich habe folgendes Problem:
Ich möchte aus einem B2Tree-Ordner alle Objekte mit tal:repeat auflisten.
Mit Python ist die Verarbeitung kein Problem, aber natürlich genauso wie in TAL die Ausgabe.

Gibt es eine Möglichkeit möglichst einfach die Menge der Objekte, die ausgegeben werden zu begrenzen und automatisch weiter,zurück bzw. Sprunglinks (z.B. gehe zu 200-300)
(Wie hier im Forum mit den Seiten) zu generieren ?

draci
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]
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo draci!

Dafür ist ``ZTUtils.Batch`` zuständig.

Das ist eine Seite, die mit dem "Z Search Interface" erstellt wurde. Die wichtigen Dinge musst du dir selber raus holen. Da habe ich jetzt keine Geduld dafür.

Code: Alles auswählen

<html>
  <body tal:define="results  here/addresses_search_sql;
                    start request/start|python:0;
                    batch python:modules['ZTUtils'].Batch(results,
                                                          size=20,
                                                          start=start);
                    previous python:batch.previous;
                    next python:batch.next">

  <p>
    <a tal:condition="previous"
       tal:attributes="href string:${request/URL0}?start:int=${previous/first}"
       href="previous_url">previous <span tal:replace="previous/length">20</span> results</a>
    <a tal:condition="next"
       tal:attributes="href string:${request/URL0}?start:int=${next/first}"
       href="next_url">next <span tal:replace="next/length">20</span> results</a>
  </p>

  <table border>
        <tr>
          <th>VORNAME</th>
          <th>NACHNAME</th>
        </tr>
       
  <tal:x repeat="result batch" >
  
         <tr>
          <td><span tal:replace="result/VORNAME">VORNAME goes here</span></td>
          <td><span tal:replace="result/NACHNAME">NACHNAME goes here</span></td>
        </tr>

  </tal:x>

      </table>
  <p>
    <a tal:condition="previous"
       tal:attributes="href string:${request/URL0}?start:int=${previous/first}"
       href="previous_url">previous <span tal:replace="previous/length">20</span> results</a>
    <a tal:condition="next"
       tal:attributes="href string:${request/URL0}?start:int=${next/first}"
       href="next_url">next <span tal:replace="next/length">20</span> results</a>
  </p>

  </body>
</html>
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
draci
User
Beiträge: 53
Registriert: Dienstag 26. September 2006, 18:13

Cool werd's mir mal ansehen
Danke :D

PS: Schön kurz :mrgreen:
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]
Benutzeravatar
draci
User
Beiträge: 53
Registriert: Dienstag 26. September 2006, 18:13

Hier noch mal Aufgeschlüsselt :D

Code: Alles auswählen

<html>
  <body tal:define="results  ABFRAGE (z.B. here/objectValues);
                    start request/start|python:0;
                    batch python:modules['ZTUtils'].Batch(results,
                                                          size="Menge der Elemente pro Seite",
                                                          start=start);
                    previous python:batch.previous;
                    next python:batch.next">

  <p>
    <a tal:condition="previous"
       tal:attributes="href string:${request/URL0}?start:int=${previous/first}"
       href="previous_url">"Text vor der Zahl"<span tal:replace="previous/length">"Menge der Elemente pro Seite"</span>"Test nach der Zahl"</a>
    <a tal:condition="next"
       tal:attributes="href string:${request/URL0}?start:int=${next/first}"
       href="next_url">"Text vor der Zahl"<span tal:replace="next/length">"Menge der Elemente pro Seite"</span>"Test nach der Zahl"</a>
  </p>

  <table border>
        <tr>
          <th>VORNAME</th>
          <th>NACHNAME</th>
        </tr>
       
  <tal:x repeat="result batch" >
 
         <tr>
          <td><span tal:replace="result/VORNAME">VORNAME goes here</span></td>
          <td><span tal:replace="result/NACHNAME">NACHNAME goes here</span></td>
        </tr>

  </tal:x>

      </table>
  <p>
    <a tal:condition="previous"
       tal:attributes="href string:${request/URL0}?start:int=${previous/first}"
       href="previous_url">"Text vor der Zahl"<span tal:replace="previous/length">"Menge der Elemente pro Seite"</span>"Test nach der Zahl"</a>
    <a tal:condition="next"
       tal:attributes="href string:${request/URL0}?start:int=${next/first}"
       href="next_url">"Text vor der Zahl"<span tal:replace="next/length">"Menge der Elemente pro Seite"</span>"Test nach der Zahl"</a>
  </p>

  </body>
</html>
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]
Antworten