Bottle: nur ODD oder auch anders ?

Django, Flask, Bottle, WSGI, CGI…
Antworten
Benutzeravatar
Manchotix
User
Beiträge: 54
Registriert: Samstag 14. Januar 2012, 19:54

Hey community,

ich habe jetzt mal öfters mit Bottle(ver. 0.10) herrum gespielt und auch ein wenig was hinbekommen.
Aber jetzt zu meinem Problem oder auch frage, denn ich frage mich ob es möglich ist in einem Dokument die Urls anzugeben und dann auf andere Dokumente zu verweisen wie hier in Flask :

App.py ### verweißt dann auch meine Datein index.py & login.py

Code: Alles auswählen

import flask

# Views
from index import Index #my own files
from login import Login 

app = flask.Flask(__name__)

# Routes
app.add_url_rule('/',
                 view_func=Login.as_view('index'),
                 methods=["GET"])
app.add_url_rule('/login/',
                 view_func=Login.as_view('login'),
                 methods=["GET", "POST"])

app.debug = True
app.run()
Ich hoffe ihr versteht was ich meine und es gibt irgend wie eine Lösung für meine Frage.

Es ist bestimmt möglich nur ich bin bestimmt wider doof wie eine Hupe :P

mfg Manchotix
- Über Fehler sollte man sich freuen als über das richtige Ergebnis denn wir Menschen können nur aus den Fehlern lernen-
BlackJack

@Manchotix: Kannst die Frage noch einmal anders formulieren? Ich habe nämlich nicht verstanden welches Problem Du da gerade lösen möchtest‽

Und wofür steht ODD im Betreff?
deets

Ich denke er will wissen, ob er bottle-apps ueber mehrere Sourcen verteilen kann.

@OP: natuerlich kannst du, niemand hindert dich daran in index.py Funktionen aufzusetzen die du entweder

- direkt in index.py mittels des @route-Decorators dekorierst
- oder einfach in deiner main.py (oder wie auch immer sie heisst) importierst und dort dann halt statt nem Dekorator mit

Code: Alles auswählen

route("/", function_from_index)
dem routing-System zur Verfuegung stellst.
Benutzeravatar
Manchotix
User
Beiträge: 54
Registriert: Samstag 14. Januar 2012, 19:54

Ok ich versuche es noch mal, also im Tutorial habe ich bis jetzt immer nur in einer Datei gehabt die Routing z.b. @route('/index') und die dazu gehörige Funktion also z.b.

main.py :

Code: Alles auswählen

from bottle import route, run

@route('/index')
def index():
    return "hallo welt"

@route('/login')
def login():
    return "Login Seite"

run(host="localhost", port=8080)
So meine Frage war jetzt ob es möglich ist jede der gezeigt Routes in eine extra datei zu schreiben.

index.py :

Code: Alles auswählen

@route('/index')
def index():
    return "hallo welt"
login.py :

Code: Alles auswählen

@route('/login')
def login():
    return "Login Seite"
und app.py soll dann den Bottle-Server starten und auf die datein index.py und login.py verweisen.

ist an sich eine Ordnugs Sache so das nicht alles in einer Datei steht sondern von einander getrennt ist, als so eine art MVC prinzip (hoffe das ist jetzt nicht falsch gesagt)

Das mit dem ODD ("One Document Does it all") kommt mir so vor, weil ich durch das Tutorial von Bottle alles in einer Datei geschreiben wird (route, funktionen, server start etc.). Hoffe es ist jetzt etwas klarer. Das einzigste was ich gefunden habe in der Bottle reference ist halt so was wie get_url() aber damit habe ich bis jetzt auch noch nichts hinbekommen oder weiß nicht mal ob es das richtige ist.
- Über Fehler sollte man sich freuen als über das richtige Ergebnis denn wir Menschen können nur aus den Fehlern lernen-
BlackJack

@Manchotix: Natürlich muss nicht alles in einer Datei stehen, warum sollte es das müssen. Das hättest Du aber auch einfach mal ausprobieren können.
deets

Mit MVC hat das gerade mal nix zu tun. Und das, was ich beschrieben habe, ist doch genau die Antwort auf deine Frage?!?
Benutzeravatar
Manchotix
User
Beiträge: 54
Registriert: Samstag 14. Januar 2012, 19:54

ok danke euch und tut mir leid das ich vieles durch einander gebracht habe und ich werde das mal ausprobieren, werde das schon hinbekommen :)

werde nächstes mal es versuchen kürzer und genauer zu beschreiben.

danke @ deets & BlackJack :D
- Über Fehler sollte man sich freuen als über das richtige Ergebnis denn wir Menschen können nur aus den Fehlern lernen-
Antworten