ホームページ >バックエンド開発 >Python チュートリアル >Django URLでパラメータを渡す方法
1 パラメータなし
設定URLとそのビューは次のとおりです:
(r'^hello/$', hello) def hello(request): return HttpResponse("Hello World")
http://127.0.0.1:8000/helloにアクセス、出力結果は「Hello World」です
2 aを渡しますパラメータ
設定 URL とそのビューは次のとおりです。パラメータは正規表現で URL に指定されます:
(r'^plist/(.+)/$', helloParam) def helloParam(request,param1): return HttpResponse("The param is : " + param1)
http://127.0.0.1:8000/plist/china にアクセスすると、出力結果は "パラメータは次のとおりです: china"
3 複数のパラメータを渡す
2 つのパラメータを渡すことを例として、2 番目のケースを参照してください。設定 URL とそのビューは次のとおりです。2 つのパラメータは正規表現を使用して URL に指定されます:
(r'^plist/p1(\w+)p2(.+)/$', helloParams) def helloParams(request,param1,param2): return HttpResponse("p1 = " + param1 + "; p2 = " + param2)
http://127.0.0.1: 8000/plist/p1chinap22012/出力は「p1 = china; p2 = 2012」です
ここから、ビューのパラメータが順番に一致していることがわかりますURL の正規表現に従って自動的に割り当てられます。これにより、任意の数のパラメータを転送できますが、柔軟性が不十分であり、URL は通常の一致であるため、場合によってはエラーが発生しやすくなります。
4 従来の「?」を介してパラメータを渡します
たとえば、http://127.0.0.1:8000/plist/?p1=china&p2=2012、URL 内の「?」は渡されるパラメータを表し、ここでは p1 とp2 2 つのパラメータ。
このようにパラメータを渡すことで、通常のマッチングエラーによる問題は発生しません。 Django では、このようなパラメーターの解析は request.GET.get メソッドを通じて取得されます。
URL とそのビューを次のように設定します:
(r'^plist/$', helloParams1) def helloParams(request): p1 = request.GET.get('p1') p2 = request.GET.get('p2') return HttpResponse("p1 = " + p1 + "; p2 = " + p2)
出力結果は「p1 = china; p2 = 2012」です
Django URL でパラメータを渡す方法に関連するその他の記事については、注目してください。 PHP中国語ウェブサイトへ!