zoukankan      html  css  js  c++  java
  • [翻译]在Django项目中添加谷歌统计(Google Analytics)

    原文:《Google Analytics tracking code into Django projects, the easy way》 对我来说,制作一个可扩展的Django应用随时可以添加谷歌统计实在是太难了。所以我写这篇文章作为快速手册,以便用于以后的Django Web开发时使用。 在Django项目中使用谷歌统计有两个前提条件:

    • 你需要拥有谷歌统计的ID和你网站的域名
    • 不能在settings.DEBUG模式下使用

    设置变量

    如下的一些变量需定义在setting.py文件中

    GOOGLE_ANALYTICS_PROPERTY_ID

    这个用来填写你的账户ID,形如:(e.g. UA-14845987-3)

    GOOGLE_ANALYTICS_PROPERTY_ID = 'UA-14845987-3'

    GOOGLE_ANALYTICS_DOMAIN

    这个用来填写你的域名,这个域名必须是你的根域名。比如mydomain.com,而不是www.mydomain.com或是foo.mydomain.com这样的子域名

    GOOGLE_ANALYTICS_DOMAIN = 'mydomain.com' 

    Context Processor

    添加如下函数到你的上下文处理器文件中。 

    from django.conf import settings
     
    def google_analytics(request):
        """
        Use the variables returned in this function to
        render your Google Analytics tracking code template.
        """
        ga_prop_id = getattr(settings, 'GOOGLE_ANALYTICS_PROPERTY_ID', False)
        ga_domain = getattr(settings, 'GOOGLE_ANALYTICS_DOMAIN', False)
        if not settings.DEBUG and ga_prop_id and ga_domain:
            return {
                'GOOGLE_ANALYTICS_PROPERTY_ID': ga_prop_id,
                'GOOGLE_ANALYTICS_DOMAIN': ga_domain,
            }
        return {}

    在setting.py中加入context processor的信息

    TEMPLATE_CONTEXT_PROCESSORS = (
        ...
        'website.context_processors.google_analytics',
    )

    Template(模板)

    我们需要添加谷歌给我们的统计代码到我们的模板中,就可以快乐的使用谷歌统计了。如下代码中的GOOGLE_ANALYTICS_PROPERTY_ID和GOOGLE_ANALYTICS_DOMAIN在先前我们的setting.py中填写,并且我们已经通过上面的上写文处理器能进行自动的替换成我们的设置。

    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
     
      ga('create', '{{ GOOGLE_ANALYTICS_PROPERTY_ID }}', '{{ GOOGLE_ANALYTICS_DOMAIN }}');
      ga('send', 'pageview');
     
    </script>

    我们把它保存到模板目录的一个文件中,比如我把它保存为ga.html

    Note:我使用的是新的谷歌统计代码。你可以在这里获取它。你也可以使用传统的谷歌统计代码来替换它(叫做ga.js)。事实上,你可以同时嵌入他们,并在链接中做些说明。

    事实上,我们需要在每个页面都使用谷歌统计代码。那么需要编辑base.html模板,在它里面添加如下代码。仅当GOOGLE_ANALYTICS_PROPERTY_ID 被设置统计代码才会被包含。

    {% if GOOGLE_ANALYTICS_PROPERTY_ID %}
      {% include "path/to/your/ga.html" %}
    {% endif %}

    记得把路径换成你自己的路径!

    ———————————————–

    OK,就是这样, 添加谷歌统计代码还是挺简单的。不过可能去谷歌查看统计得锻炼锻炼身体了。

  • 相关阅读:
    nginx升级步骤
    对一些信息进行正则校验
    对list对象进行排序
    文件上传实现ajax假异步
    解决springmvc+fastjson返回页面出现乱码问题
    php opcode缓存
    node.js 抓取
    mysql 好文章
    rabbitmq 安装
    配置安装nginx
  • 原文地址:https://www.cnblogs.com/ishell/p/4240183.html
Copyright © 2011-2022 走看看