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:

  • Wie bekomme ich Listen-Index und Element gleichzeitig in Python?
  • So entfernen Sie nicht konvertierte Daten aus einem Python-datetime-Objekt
  • Wie bekommst du den SSH-Returncode mit Paramiko?
  • Out of Memory Problem bei der Installation von Paketen auf Ubuntu-Server
  • Parse-Datei in robuster Weise mit Python 3
  • So erstellen Sie einen Hyperlink zu einem anderen Excel-Blatt in der gleichen Arbeitsmappe
  • <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?

    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.