4

質問をする前に、アプリを作成する代わりにdjangoを使用できるという事実を認識していることに言及したいと思いますが、falconだけを使用する必要があります。

私はちょうどアプローチを探しています

アプリのさまざまな部分の間でデータがどのように流れるかを理解できるように、非常に単純なシナリオを考えてみましょう。

HTMLを使用した簡単なログインページがあります:

<!DOCTYPE html>
<html>
<body>

<form action="***what-do-i-put-here***">
  <fieldset>
    <legend>Personal information:</legend>
    First name:<br>
    <input type="text" name="firstname" value="Mickey">
    <br>
    Last name:<br>
    <input type="text" name="lastname" value="Mouse">
    <br><br>
    <input type="submit" value="Submit">
  </fieldset>
</form>

</body>
</html>

Pythonにデフォルトで存在するsimpleHTTpServerを使用して実行します。

ここで、フォームから受信したデータを返すだけのレスポンダー「on_post()」を 1 つだけ使用して、非常に基本的なファルコン アプリを作成します。

falcon アプリをホストするために localserver で uWsgi を使用しています。これらの 2 つの異なるコードを相互にやり取りさせるにはどうすればよいですか。つまり、html 形式の場合です。Php の場合は、「actions」タグの下で php ファイルの名前を定義します。ファルコン。

非常にシンプルで小さな実例が高く評価されています

4

1 に答える 1

9

これが実用的な例です!

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="http://127.0.0.1:8000" method="post">
        <input type="text" name="name">
        <button type="submit" name="btn">Submit</button>
    </form>
</body>
</html>

ファルコンコード:

import falcon
from wsgiref import simple_server

class Resource(object):
    def on_post(self, req, resp):
        resp.status = falcon.HTTP_200
        resp.body = req.params['name']

app = api = falcon.API()
app.req_options.auto_parse_form_urlencoded = True
api.add_route('/', Resource())

if __name__ == '__main__':
    http = simple_server.make_server('127.0.0.1', 8000, app)
    http.serve_forever()
于 2016-12-15T16:04:25.570 に答える