アプリがスムーズに実行されるようにするために、次のようなURLの数を一致させようとしています。
私は次のget関数を持っています:
class Competition(Handler):
def get(self, *a):
if a:
print a
else:
print 'None'
app = webapp2.WSGIApplication([('/', Index),
('/competitions[/]?([^/]+)[/]?([^/]+)[/]?([^/]*)$', Competition),
],debug=True)
私が現在使用している正規表現は、これを修正したものです。JedSmithが他の誰かを助けています
そして、次の出力を取得します。
/ Competitions / one / two / three =('one'、'two'、'three')-期待される結果
/ Competitions / one / two =('one'、'two'、'')-期待される結果
/ competions / one / =('on'、'e'、'')-予期しない結果
/ competions / one =('on'、'e'、'')-予期しない結果
/ competions /=404-パターンと一致しません
/competitions=404-パターンと一致しません
理想的には、正規表現をベースURLと一致させることから始めたいと思います。
localhost:8080 /コンペティション(末尾の「/」の有無にかかわらず)からコンペティションハンドラーへ
次に、テストできる0個以上の引数を追加します... 0は私のifステートメントの先頭に一致し、後続のステートメントは必要に応じて処理されます。
* aでは最大3つの変数に制限できます(つまり、/ Competitions / one / two / threeが最大です)が、このようなものを処理する方法をよりよく学ぶために、できるだけ多くの変数に一致させる方法を学びたいと思います入力したとおり。
どんな助けでもいただければ幸いです。正規表現は私を混乱させます。
乾杯
- フォーマットを修正するために編集