2017-02-03 8 views
0

に何かを受け入れるためには、HTTP 301リダイレクト言う..正規表現私はURLパラメータに渡されたものを受け入れるURLを持ってしようとしていますが、私はそれをしようとしていたときに、URLのジャンゴ

私のURLが/ /返信ですか? AGENT_TYPE =ウェブ&入力=何も

とDjangoのURLで、このための私の正規表現は、

URL(ウル '^返事/(.*)/$'、views.visit)で、

+0

をちょうど/reply/にあなたのURLを変更し、ビューにrequest.GET辞書内のすべてのGETパラメータをルックアップあなたの現在の正規表現は、末尾にスラッシュを持っています。 '/ reply /?agent_type = web&input = anything /'は動作しますか?または 'url(ur '(^' reply /(.*)$ '、views.visit)'正規表現のために? –

+0

あなたはとても優しいので、ここでの通常の練習に合わせて正しい答えをマークすることができますか? – e4c5

答えて

1

あなたの正規表現は、基本的に言う

reply/something here/ 

または 返信//

したがって、リダイレクトを得ている理由。最も簡単な方法は、probabllyここでは2つのURLパターンを使用するか

url(ur'^reply/(.*)/?$', views.visit), 

である。しかし上記の末尾なしリンクの望ましくない副作用があり、末尾にバージョンを対象としていないスラッシュ

+0

うん、うまくいった!!ありがとう –

0

これらの入力はgetパラメータであり、スラッシュあなたがURLでそれらを照合する必要はありません。もしあなたがあなた自身の視点でそれらを解析する必要があるので、URLでそれらに一致するものがあなた自身のためにそれをより困難にするならば。

代わりにちょうど

url(ur'^reply/$', views.visit), 

dev visit(request): 
    anything = request.GET['input'] 
    agent_type = request.GET.get('agent_type') 
関連する問題