2017-11-07 3 views
0

URLパターンとDjangoの正規表現との一致問題がありました。 URLPATTERN:私は一致しようとしていますURLパターンとスペースで一致する文字列パラメータ

url(r'^search/(?P<title>[\w\s ]+)/$',views.specs, name='spec'),

は、URL:

/search/%20Iphone7%20jet%20black/

タイトルは、この "iPhone 7ジェットブラック" 事前に おかげのようなものです。

+0

が含まれている必要があります。これは、大規模なアプリケーションを開発する際のベストプラクティスです。 URLに空白を使用しないでください。 –

答えて

-1
urlpattern: url(r'^/search/(?P<title>[-\w+\d+]+)/$', views.specs, name='spec') 

そして、あなたは「%」の兆候を取り除くことができ、あなたのビューでtitleパラメータを取得します。しかし、より良い選択肢は、フォームフィールドデータを消去するときに、検索フォームでこれを行うことです。

UPDATE:あなたのview.py @safwan はまた、あなたが/検索/ Iphone7jetblack /のようなURLを作成する必要があり

def specs(request, title): do some magic here

+0

'%20'は正規表現に対してマッチする前にスペースにデコードされます。また、 '\ d'は' \ w'のサブセットです。 – knbk

+0

'iPhone 7'はあなたに同意しません –

+0

私はすでにスペースを ' - 'に置き換え、その文字列を変数urlstripに割り当てます。 URLパターンでは、タイトルをurlstripに置き換えましたが、それでもまだ一致しません。 –

関連する問題