python - 记录<a>标签的点击次数(非JS)

标签 python django

在我正在构建的 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/

相关文章:

python - 如何在python中的另外两条线之间插入一条线

python - 如何在 Django 中为我正在做的事情形成一个 URL

python - 请求设置 DEFAULT_INDEX_TABLESPACE,但未配置设置

python - 迁移过程中创建FK关系

python - GeoDjango 距离搜索

python - 安装 ODBC 驱动程序 heroku

python - 学习算法时如何使用python?

python - 使用 PyUSB 从 Tenma 72-7732 万用表读取数据

Python:多属性字典使用什么存储方法?

python - Google App Engine Python python 电子邮件无法正常工作