Tornado URL und HTML Formular

Ich benutze Tornado und ich möchte etwas zu meinem MongoDB von Werten in einem HTML-Formular einfügen.

In der HTML-Datei habe ich so ein Formular:

<form method="get" > 

Mit 2 textbox und einem submit button. Und ich weiß nicht, was als "action"

Ich habe eine Handler-Klasse mit einer Funktion namens "Post" wie Faltenbalg:

  class MyHandler(tornado.web.RequestHandler): def post(self): name = self.get_argument("Name", "") index = self.get_argument("Index","") .... code for updating MongoDB 

Ich habe eine Datei namens BaseUrl.py, die enthält:

 (/admin/edit[/]?',MyHandler ) 

Aber es scheint, dass die "post" -Funktion in myHandler nicht ausgeführt wird. Könnten Sie mir bitte einen Rat geben, wie ich meine URLs richtig einstellen und Aktionen ausführen kann?

  • Design der asynchronen Anfrage und Blockierung der Verarbeitung mit Tornado
  • Tornado mehrere IOLoop in Multithreads
  • Tornado-Webserver-Client, der Antwortnachrichten löscht?
  • APScheduler läuft Async-Funktion in Tornado Python
  • Machen Sie Tornado in der Lage, neue Anfragen zu behandeln, während Sie die Antwort von RPC über RabbitMQ warten
  • Warum lange HTTP Round Trip-Zeiten meine Tornado AsyncHttpClient?
  • Tornado oder Django arbeitet mit CGI?
  • Was ist ein guter Weg, um Ihre Modelle zu organisieren, Verbindungen, wenn man SQLAlchemy verwenden möchte, um mehrere Datenbanken mit verschiedenen Anwendungen zu verbinden?
  • 2 Solutions collect form web for “Tornado URL und HTML Formular”

    Ihre Post-Methode wird nicht aufgerufen, weil Ihr Formular method="get" angibt. Ändern Sie das auf method="post" und es wird wahrscheinlich funktionieren.

    Wenn die Aktion leer ist, wird der Browser die Anfrage an die aktuelle Seite übermitteln, also wenn Sie einen Handler haben, der das Formular an der gleichen URL bedient, müssen Sie es nicht angeben.

    Ändern Sie die Formularmethode auf POST, während Sie in einer POST-Anfrage bearbeiten:

     <form method="POST" > 

    Sie müssen auch eine Aktion vornehmen, wenn das Formular von einer anderen Seite bedient wird, also sollte Ihr Formular sein:

     <form method="POST" action="/admin/edit"> 
    Python ist die beste Programmiersprache der Welt.