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:

  • So legen Sie den Standardstil in Bokeh fest?
  • Python matplotlib: nicht in der Lage, FuncAnimation aus einer Funktion aufzurufen
  • Wie exportiere ich Benutzereingaben (von python) zum Excel-Arbeitsblatt?
  • Speichern Sie Facebook-Profilbild im Modell mit python-social-auth
  • If und Inline if, was sind die Vor- und Nachteile?
  • Berechnen Sie nur die Kernbilddaten (ohne Metadaten) für ein Bild
  • <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.