質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

解決済

1回答

1013閲覧

djangoのurls.py 正規表現について

wayaya

総合スコア30

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

0クリップ

投稿2018/01/09 15:10

djangoで作成したwebサイトから検索フォーム使用して、urlからルーティングして表示させたいと思っています。
検索フォームを作成して適当な文字を検索すると、下記のようなurlになりました。
正規表現でkeywordと一致した場合、views.post_searchを表示させようと思っているのですが、正規表現がうまくいかない状態です。
下記のurlpatternsで一致するかと思ったのですが、何が悪いのでしょうか?

サンプルurl
http://127.0.0.1:8000/posts/?keyword=test

python:urls.py

1urlpatterns = [ 2 url(r'^posts/?keyword', views.post_search), #?をエスケープ 3 url(r'^posts/?keyword', views.post_search), #?をエスケープしない 4]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

urlpatternsには、クエリパラメータを含むことはできません。ですので、コードの中で判定します。

python

1urlpatterns = [ 2 url(r'^posts/', 'views.post_search'), 3]

python

1 keyword = request.GET.get('keyword', '') 2

投稿2018/01/09 21:06

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wayaya

2018/01/10 13:00

ありがとうございます。 指摘いただいた方法で解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問