LoginSignup
0
0

クエリパラメータってなに?

Posted at

「クエリパラメータ」というのは、さまざまな情報をWebサーバーに伝えるために"URL"に付け加える情報。例えば。。。

http://localhost:8000/?msg=hello

みたいに、?以降についてる部分がクエリパラメータ。

?変数名=変数の値

パラメータが複数ある場合は「&」でつないでいく。

もそも「クエリ」とは?
そもそも「クエリ」というのは、検索をおこなう際の検索条件のことだ。

一般に、データベースや表で何らかの検索をおこなう場合は、「検索対象となる項目」と「検索キーワード」を指定する必要がある。

たとえば、Excelで作った社員名簿という表があると想像してほしい。社員の中から「鈴木」という「名字」の社員を検索したい場合は、「検索対象となる項目」に「名字」を指定し、「検索キーワード」に「鈴木」という文字列を指定する。この場合は、「名字=鈴木」というのがクエリということになる。

この「名字=鈴木」という検索をおこなう際の「名字」にあたるものことを「パラメータ(変数)」といい、一方、「鈴木」にあたる文字列のことを「パラメータ(変数)の値」という。
<引用文献>
impress, 「URLクエリパラメータ(クエリストリング)の意味とは。」, https://webtan.impress.co.jp/e/2012/04/26/12663 (2024年5月2日)

Djangoでクエリパラメータを使って、"Hello! World!"を表示させよう!

views.pyに次のコードを書いてみよう。

from Django.http import HttpResponse
def index(request):
   msg = request.GET["msg"]
   return HttpResponse(msg)

requestを引数に取っているが、このrequestとは?
そうです、HttpRequestというクラスのインスタンス。これは、クライアントがサーバにアクセスした際に、クライアント側の様々な情報を管理するもの。その中の、GETというのは、これは辞書的なもの。

Webブラウザでアクセスしてみよう!

python manage.py runserverで、ローカルサーバを立ち上げて、アドレスを次のように打とう。

http://localhost:8000/書いた場所のフォルダ/?msg=?msg=hello!%20World!

クエリパラメータをURLに含める際には、値をダブルクォーテーションで囲む必要はありません。クエリパラメータは単なるテキストだから親切心で囲わなくてもいい!ここで %20 は、スペースをURLエンコードしたもの。
結果がこれです!
↓↓↓
スクリーンショット 2024-05-02 163741.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0