2017-06-13 92 views
0

我正在实现一个Django支持的网站,我需要跟踪登录的用户访问的网站。我已经使用了它,但没有找到任何特定于Django的内容。在Django中跟踪用户的网页搜索历史

我知道有在link

可用文档任何人都可以请推荐一些Django的具体文件或某些算法是无关的网页浏览器。

谢谢。

编辑: Django的应用程序将表现得像个门户,将验证用户使用internet.The搜索将不会是Django的动力网站上,因为这将只是充当登录门户网站,注销。

+0

您可以创建一个中间件和一个简单的模型来记录每个请求 – Brobin

+0

谢谢,我理解你对模型的观点,但是你能否详细介绍一下中间件? – ssharma

回答

2

这取决于各种事情,你可能会得到非常不同的答案。

一种方法是将request.session中的网址列表存储为会话cookie值。

如果您需要更多持久性,您可以为其创建自己的模型并将其保存在每个请求上。喜欢的东西:

class Tracker(models.Model): 
    url = models.URLField() 
    user = models.ForeignKey('auth.User') 
    time = models.DateTimeField(auto_now_add=True) 

然而,这可以根据您打算如何激烈的使用它相对较慢。

如果您需要存储大量此类数据,可能需要调查添加数据库后端(如influxdb),该数据库后端旨在存储大量时间序列数据以供以后进行统计评估。

+0

谢谢,但我怎么知道是否发出请求,因为它可以在任何选项卡上发出,此django网站将代表一个门户网站,之后用户通过身份验证使用internet.Can请详细说明如何跟踪请求? – ssharma

+0

@ssharma不知道我明白你的意思是“可以在任何标签上制作”或“通过互联网认证”。我这样理解,你想跟踪你的页面上的用户。你无法跟踪用户在别处做什么。 –

+0

该应用程序就像一个门户网站,例如在大学里,一般来说学生需要登录门户网站以获得大学证书才能使用互联网进行身份验证。 – ssharma