[Werkzeug] Views in einem Paket

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

[Werkzeug] Views in einem Paket

Beitragvon derdon » Sonntag 11. Januar 2009, 21:23

Hallo,
kann mir jemand ein Minimalbeispiel mit Werkzeug zeigen, bei dem es keine views.py (also als Modul) gibt, sondern die views in einem extra Paket gespeichert sind? Ich habe mir das Beispiel Coolmagic und den Code von LodgeIt! angeguckt, aber ich habe beide Beispiele nicht verstehen können. Bei LodgeIt! gefällt mir nicht, dass bei den Views (dort controller genannt), Klassen benutzt werden. Das passt bei LodgeIt! von Semantik sehr gut, aber bei meinem Fall würde OOP bei den Views mehr behindern als helfen. Mein Versuch mit der application.py sieht so aus: http://paste.pocoo.org/show/99141/ . Beachtet werden sollte da vor allem Zeile 35-44. Auf dieser Art funktioniert es nur bei dem Modul views_dummy.py und bei dem Modul content.py teilweise (nur Funktionen, die nicht gewrappt wurden). Bei den Modulen user_management.py und admin.py kann kein Endpoint zugewiesen werden. Im Fehlerfall sieht der Traceback so aus, wobei 'settings' den Namen des Moduls angibt: http://paste.pocoo.org/show/99148/

Ich vermute, dass der Ansatz von mir falsch ist und man das ganze besser lösen kann.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Beitragvon Darii » Montag 12. Januar 2009, 07:39

Sieht mir eher so aus, als wäre deine Abfrage ``path in (...)`` falsch herum. Dreh das mal um ( ``any(string in path for string in (...))`` ) Deswegen wird dein dummy-Modul aufgerufen, dass kein settings-Attribut hat.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Beitragvon derdon » Montag 12. Januar 2009, 08:30

Ich habe (mal wieder) zu kompliziert gedacht: Ich bin ncht auf die Idee gekommen, bei der urls.py in den endpoints die "Dotted-Attribut-Notation" zu benutzen, also das modul schon da anzugeben.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Montag 12. Januar 2009, 10:00

Ich verwende in der Urlmap direkt die views als Endpoint. Finde ich schöner.

- Jonas
My Website - 29a.ch
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Beitragvon derdon » Montag 12. Januar 2009, 14:04

Genau das war meine Lösung. Vielleicht habe ich mich im vorherigen Post unverständlich ausgedrückt, aber exakt das habe ich gemacht.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Mittwoch 28. Januar 2009, 01:14

veers hat geschrieben:Ich verwende in der Urlmap direkt die views als Endpoint. Finde ich schöner.

Meinst du mit "views" direkt deine Controller-Callables? Interessante Idee, aber dann wird's mit der URL-Erzeugung ziemlich unschön und für die URL-Map müssen alle Controller-Module importiert werden.

Ja, ich denke/formuliere in MVC und nicht in MTV ;)
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Mittwoch 28. Januar 2009, 09:24

Ja. Ob ich URL Generierung jetzt für toll oder meist unnütz halten soll weiss ich nicht so recht. Denn sinn sehe ich nur dann wenn bestehende Systeme abgelöst werden müssen. Ansonsten sollte die URL ja immer die selbe bleiben, aber der Code im Hintergrund kann sicher ändern.

- Jonas
My Website - 29a.ch

"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder