wiuyiyi 发表于 2015-9-8 09:12:20

网站超链接点击情况保存到mongodb

想看看有人点击我主页的新闻链接吗 就自己写了这个 看看,结果n天了 都是我自己点的 前端主要代码(django模板)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!-- HTML5 最新咨询-->
                <div class="djangonew" style="overflow:auto;float:right;aborder:1px solid red;height:10%;width:49%;">
                <h4 style="color:#A52A2A2;background:#00CED1; text-align:center;">Html5最新动态</h4>
                  {% for title,curl,date in h5news %}
                  <p style="font-size:14px;color:black;border-bottom:1px solid #DCDCDC;margin:17px;"><a onclick="save_url(this)" href="{{curl}}" target="_blank">{{title}}</a>
                  <span style="color:#A9A9A9;font-size:7px"> {{date}}</span>
                  {% endfor %}
                </div>

    <script type="text/javascript">
    $.ajaxSetup({
      data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
    });
    function save_url(t) {
      var data = {
                        IP:"{{IP}}",
                        url: t.href,
                };
      $.post('/api/click_url', data);
    }
    </script>




后端代码(django)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#访问状态
@login_required(login_url="/")
def Visit(request):
    r10=Redis(host='localhost',port=6379,db=10,password='**')
    r12=Redis(host='localhost',port=6379,db=12,password='**')
    #mongo Click_url
    today_sec = time.mktime(time.strptime(time.strftime("%Y%m%d"),"%Y%m%d"))
    curl_data = db.curl.find({'date':{'$gte':today_sec}},{'_id':0})
    curl_data = list(curl_data)
    if len(curl_data):
      for i in curl_data:
            i['date'] = time.strftime("%Y%m%d %T",time.localtime(i['date']))
    #在线
    online_ipall=[]
    for i in r10.keys('IP*'):
      online_ipall.append((i,r10.get(i)))
    #今天
    today_ipallwx=[]
    for i in r12.keys('IP*'):
      today_ipallwx.append((i,r12.lrange(i,start=0,end=-1)))
    today_ipall=sorted(today_ipallwx,key=lambda x:x,reverse=True)
    return render_to_response('plug/visit_state.html',{"curl_data":curl_data,"online_ipall":online_ipall,"today_ipall":today_ipall},RequestContext(request))

#点击超链接统计
def Click_url(request):
    if request.method == 'POST':
      url = request.POST.get('url')
      IP = request.POST.get('IP')
      db.curl.insert({'ip':IP, 'url':url, 'date':time.time()})
    return HttpResponse("ok")




查看效果图:
页: [1]
查看完整版本: 网站超链接点击情况保存到mongodb