bottle - Benutzernachricht nach Redirect...

Django, Flask, Bottle, WSGI, CGI…
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich überlege bottle in DragonPy für den CPU control server zu nutzten.

Gib es in Bottle sowas wie das "messages framework" in Django, also sowas:

Code: Alles auswählen

messages.error(request, 'Error: Foo Bar!')
return HttpResponseRedirect("/foo/")

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

@jens: Wenn man sich so etwas programmiert, dann ja. Es gibt einen Grund warum diese kleinen Rahmenwerke „Mikrorahmenwerke” heissen. ;-)
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Also ich würde das noch so als Grundausstattung ansehen.

Als Plugin scheint es so was auch nicht zu geben: http://bottlepy.org/docs/dev/plugins/

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

@jens: Im Käseladen findet sich das hier: https://pypi.python.org/pypi/bottle-flash/0.1

Keine Ahnung ob's brauchbar ist.
Benutzeravatar
Balmung
User
Beiträge: 44
Registriert: Sonntag 17. März 2013, 18:36

Dem bottle-flash plugin bin ich auch schon über den Weg gestolpert, den dazugehörigen github account kann ich nicht finden.
Etwas zu nutzen, was also scheinbar nicht mehr weiterentwickelt wird ist womöglich nicht so eine tolle Sache… :/
»Honk Honk«
BlackJack

@Balmung: Naja, wenn man sich mal die Grösse des Archivs anschaut, habe ich so eine Vermutung warum's das nicht fertig gibt: Das schreibt sich jeder der's braucht schneller mit ein paar Zeilen selber als das man brauchen würde danach im Netz zu suchen.

Das hier ist der Quelltext von dem Ding:

Code: Alles auswählen

from functools import wraps
from bottle import request, response

class FlashPlugin(object):
    name = 'flash'

    def __init__(self, key='flash', secret=None):
        self.key = key
        self.secret = secret
        self.app = None

    def setup(self, app):
        self.app = app
        self.app.hooks.add('before_request', self.load_flashed)
        self.app.hooks.add('after_request', self.set_flashed)
        self.app.flash = self.flash
        self.app.get_flashed_messages = self.get_flashed_messages

    def load_flashed(self):
        m = request.get_cookie(self.key, self.secret)
        if m is not None:
            response.flash_messages = m

    def set_flashed(self):
        if hasattr(response, 'flash_messages'):
            response.set_cookie(self.key, response.flash_messages, self.secret)
            delattr(response, 'flash_messages')

    def flash(self, message, level=None):
        if not hasattr(response, 'flash_messages'):
            response.flash_messages = []
        response.flash_messages.append((message, level))

    def get_flashed_messages(self):
        if hasattr(response, 'flash_messages'):
            m = response.flash_messages
            delattr(response, 'flash_messages')
            response.delete_cookie(self.key)
            return m
            
    def apply(self, callback, context):
        return callback
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Das ist doch schon mal was... Danke !

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten