1

現在、サーバー上で Python アプリケーションを開発するために mod_wsgi を使用しています。ただし、アプリケーションは非常に大きくなり、私の質問は次のとおりです。

mod_wsgi で適切なルーティング システムを作成する方法 (urls、localhost/login ルートなど)。通常、私は次のようにしています:

urls = [
    (r'^$', index),
    (r'hello/?$', hello),
    (r'hello/(.+)$', hello)
]

def application(environ, start_response):
    """
    The main WSGI application. Dispatch the current request to
    the functions from above and store the regular expression
    captures in the WSGI environment as  `myapp.url_args` so that
    the functions from above can access the url placeholders.

    If nothing matches call the `not_found` function.
    """
    path = environ.get('PATH_INFO', '').lstrip('/')
    for regex, callback in urls:
        match = re.search(regex, path)
        if match is not None:
            environ['myapp.url_args'] = match.groups()
            return callback(environ, start_response)
    return not_found(environ, start_response)

今、私は考えています...そこにすべてのルートを書くと、pythonドキュメントには何千ものコード行が含まれます。それは遅くなりますか?

私はそれが好きではないので、フレームワークについて書かないでください。私はゼロから始めたいです。

4

1 に答える 1

1

あなたは本当に自分でやりたくないのです。これらすべてを処理するためのコンポーネントを備えた Werkzeug などの既存の WSGI コンポーネント ライブラリを使用する方がはるかに良いでしょう。Werkzeug などの WSGI コンポーネント ライブラリはフレームワークではありませんが、フレームワークの作成に使用できるコンポーネントです。ゼロから自分でやりたいというスタンスではなく、せめてWerkzeugが何をやっているのか調べて学んでください。他の人々が以前にこれらの問題を解決したことがあります。

于 2013-09-07T23:04:55.940 に答える