2016-03-31 2 views
0

Ich bin Flask neu und versuche zu verstehen, wie man variable Werte behält. Um dies zu tun, versuche ich eine kleine Anwendung zu schreiben, die Nachrichteneingaben akzeptiert, sie zu einer Liste hinzufügt und dann diese Liste ausdruckt. Mein Code funktioniert nicht und ich bin mir nicht sicher warum. Ich würde mich über Hinweise zu diesem Problem (und zu anderen offensichtlichen Problemen) freuen.Wie können Nachrichten auf einer Flask-Website gespeichert werden?

from flask import Flask 
from flask import request 
from flask import redirect 

class Server(Flask): 
    def __init__(self, *args, **kwargs): 
     super(Server, self).__init__(*args, **kwargs) 
     self.messages = [] 

server = Server(__name__) 

@server.route('/') 
def form(): 
    return "messages: " + server.messages 

@server.route("/input_message") 
def input_message(): 
    return '<form action="/store_message" method="GET"><input name="input1"><input type="submit" value="enter message"></form>' 

@server.route("/store_message") 
def store_message(): 
    server.messages.append(request.args.get('input1', '')) 
    return redirect("http://127.0.0.1:5000", code = 302) 

if __name__ == "__main__": 
    server.run(
     host = "127.0.0.1", 
     port = "5000" 
    ) 

Antwort

0

In Ihrem Beispiel server.messages ist eine Liste, aber Sie es wie eine Zeichenfolge Behandlung so wird "messages:" + server.messages zu einem Fehler führen würde. Sie möchten etwas wie "messages: " + ",".join(server.messages)