HTML-Liste aus einem Dict

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
TomG
User
Beiträge: 2
Registriert: Dienstag 5. August 2008, 18:06

Mittwoch 13. August 2008, 16:54

Hallo Forum,

ich moechte aus einem (mehrdimensionalen?) Dict wie diesem:

Code: Alles auswählen

menu = {
    'main_1':{
        'title' : 'Seite 1',
        'link'  : '/seite_1/',
        'title_text' : 'Zur Seite 1',
        'sub_1':{ 
            'title' : 'Sub-Seite 1',
            'link'  : '/seite_1/sub-seite_1/',
            'title_text' : 'Zur Sub-Seite 1'},
        'sub_2':{
            'title' : 'Sub-Seite 2',
            'link'  : '/seite_1/sub-seite_2/',
            'title_text' : 'Zur Sub-Seite 2'},
        'sub_3':{
            'title' : 'Sub-Seite 3',
            'link'  : '/seite_1/sub-seite_3/',
            'title_text' : 'Zur Sub-Seite 3'}
    },
    'main_2':{
        'title' : 'Seite 2',
        'link'  : '/seite_2/',
        'title_text' : 'Zur Seite 2'},
    
    'main_3':{
        'title' : 'Seite 3',
        'link'  : '/seite_3/',
        'title_text' : 'Zur Seite 3'}
}
eine Liste in HTML generieren:

Code: Alles auswählen

<ul>
    <li><a href="/seite_1/" title="Zur Seite 1">Seite 1
        <ul>
            <li><a href="/seite_1/sub-seite_1/">Zur Sub-Seite 1</a></li>
            <li><a href="/seite_1/sub-seite_2/">Zur Sub-Seite 2</a></li>
            <li><a href="/seite_1/sub-seite_3/">Zur Sub-Seite 3</a></li>
        </ul>
    </li>
    <li><a href="/seite_2/" title="Zur Seite 2">Seite 2</li>
    <li><a href="/seite_3/" title="Zur Seite 3">Seite 3</li>
</ul>
Leider kenne ich als Python-Anfaenger die entsprechenden Fachbegriffe nicht gut genug, um eine passende Suche zu starten (was nicht heisst, dass ich nicht gesucht haette).
Ich brauche aber vermutlich eine Funktion aehnlich os.walk, richtig?.

Vielleicht hat jemand einen Link oder die richtigen Keywords fuer mich.

Ich waere aber auch fuer jeden anderen Tipp dankbar, der mich der Loesung naeher bringt .

Vielen Dank!

Gruesse
Tom

EDIT: Korrektes Highlighting gesetzt.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Mittwoch 13. August 2008, 17:15

Du wirst wohl keine dictionaries verwenden wollen da diese unsortiert und in dem Fall auch unnötig sind. Zum erstellen reicht dann eine einfache rekursive Funktion ;)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
DasIch
User
Beiträge: 2480
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Mittwoch 13. August 2008, 17:15

TomG hat geschrieben:Ich brauche aber vermutlich eine Funktion aehnlich os.walk, richtig?.
Dann schau dir doch die Funktion mal an. Wo ist das Problem?
TomG
User
Beiträge: 2
Registriert: Dienstag 5. August 2008, 18:06

Donnerstag 14. August 2008, 08:48

veers hat geschrieben:[...] keine dictionaries verwenden [...] Zum erstellen reicht dann eine einfache rekursive Funktion ;)
'rekursive Funktion' und 'Liste' - 2 Minuten spaeter war's fertig. Natuerlich war es wieder einfacher als gedacht.

Veers, vielen Dank!
Antworten