在我正在构建的 Django 移动 Web 应用程序中,我使用 sms
一个特定模板中的 html 标记。 IE。典型<a href="sms:/* phone number here */?body=/* body text here */">Link</a>
。每次用户按 Link
,他们会被重定向到手机的默认短信应用程序,其中包含一条预先填充的消息。
如何实现一个在用户每次单击 Link
时递增的计数器?挑战是仅使用 Python/Django(服务器端),而不使用 JS。
最佳答案
您可以实现一个模型来跟踪链接
上的点击。要进行跟踪,您可以创建重定向 View 之类的内容,在跟踪点击后重定向到 sms
URI。
一个基本的例子是:
from django.http.response import HttpResponseRedirect, HttpResponseRedirectBase
HttpResponseRedirectBase.allowed_schemes += ['sms']
class SMSRedirect(HttpResponseRedirect):
pass
def track_count(request):
phone = request.GET.get('phone', '')
body = request.GET.body('body', '')
link = build_sms_link(phone, body)
link.hits += 1
link.save()
return SMSRedirect(link.url)
默认情况下HttpResponseRedirectBase
不允许非Web方案/协议(protocol)。您可以通过猴子修补其允许的方案列表来使其允许。
关于python - 记录<a>标签的点击次数(非JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45458826/