【问题标题】:How to track a user clicking on a link to a document如何跟踪用户点击文档链接
【发布时间】:2015-11-29 18:07:23
【问题描述】:

我正在尝试跟踪我的用户何时单击指向 pdf 文档的链接。我想将此单击作为view 存储在我的sqlite 数据库中已经存在的views 表中,但我不确定如何注册已单击文档的链接。

在 HTML 中,我是这样引用表格格式的文档的:

<td><a href="/static/resumes/{{row[2]}}">{{row[2]}}</a></td>

我将 python 与烧瓶一起使用,所以我认为我通常可以为该 url 创建一个函数,然后在查看该文档时使用session['user'] 添加到视图表中,但这些文档是用户创建的,并且将名称是随机的,所以我不确定如何解释,因为我只是打开一个 pdf 文档。

这是我希望 python 代码如何工作的示例(可能有用,也可能没有帮助):

@app.route('/Employer/foo')
def updateView():
    addUserToView(session['user'])
    return render_template('foo.pdf')

再次,我只是不确定如何跟踪 pdf 链接

感谢您的帮助

【问题讨论】:

    标签: python html sqlite flask


    【解决方案1】:

    我猜在那个例子中:

    <td><a href="/static/resumes/{{row[2]}}">{{row[2]}}</a></td>
    

    row[2] 是文件名?您可以做的是将该 URL 更改为:/tracking/resumes/{{row[2]}},然后在您的烧瓶应用程序中,您创建 tracking 路由:

    @app.route('/tracking/resumes/<document_name>')
    def tracking_resume_view(document_name):
        addUserToView(session['user'], document_name)
        redirect(url_for('static', filename='resume/{document_name}'.format(document_name)))
    

    这个想法是有一个中间动态页面,它将跟踪/保存视图,然后重定向到静态内容。

    【讨论】:

    • 感谢您的回复,在看到上面发布的回复之前,我已经解决了我的问题,但我们的方法似乎非常接近
    【解决方案2】:

    这是我最终采用的正确方法

    @app.route('/static/resumes/<path:filename>')
    def addView(filename):
        adb.addViewEmployer(filename, session['username'])
        return send_from_directory('static/resumes/', filename)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多