初めまして。
プログラミング初心者です。
現在、DjangoでWEBサイトのアクセス解析ツールを開発しています。
その中の機能で、ユーザーがアクセスしたURLを取得したいのですが、思うようにURLを取得できずに困っています。
実現したいことは、GoogleアナリティクスのキャンペーンURLを発行し、どのキャンペーンURLからアクセスがあったのかをGmailで通知したいです。
しかし、現在全てのURLを取得することができません。
例)
GoogleキャンペーンURLで、
http://example.com/?utm_source=google&utm_medium=test&utm_campaign=001&utm_id=django
と発行した場合、
http://example.com/
しか取得できません。
とりあえず、現在テスト中なのでメールでURL通知とindex.htmlに取得したURLを表示させているのですが、
メールに届くURLも、index.htmlに表示されるURLも同じです。
index.html
1<p>{{ request.build_absolute_uri }}</p>
views.py
1class IndexView(View): 2 3 def get(self, request, *args, **kwargs): 4 subject = "件名" 5 message = request.build_absolute_uri() 6 from_email = "email" 7 recipient_list = ["email"] 8 try: 9 send_mail(subject, message, from_email, recipient_list) 10 except BadHeaderError: 11 return HttpResponse('無効なヘッダが検出されました。') 12 return render(request, 'app/index.html') 13 14 template_name = 'index.html'
自分で調査したところ、以下のコードでパラメータありの全てのURLを取得できると思って構築しました。
request.build_absolute_uri()
これだけでは、全てのGoogleアナリティクスのキャンペーンURLも含めた全てのURLを取得することはできないのでしょうか?
そもそも、キャンペーンURLは取得できないのでしょうか?
よろしくお願い致します。
<開発環境>
Python 3.8.8
Django 3.2.10
あなたの回答
tips
プレビュー