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,就是这样, 添加谷歌统计代码还是挺简单的。不过可能去谷歌查看统计得锻炼锻炼身体了。

  • 相关阅读:
    全站之路一路坑(3)——使用百度站长工具提交站点地图
    全站之路一路坑(2)——在Apache下部署django博客
    全栈一路坑之使用django创建博客
    Django添加模型无法数据迁移解决方法
    一款自动汇报工作的微信机器人
    微信js接口自定义分享内容
    C Primer
    皇家每羊历险记(四)——角色移动
    【转载】Spring Boot 使用SSL-HTTPS
    解决https负载报错:unable to find valid certification path to requested target
  • 原文地址:https://www.cnblogs.com/ishell/p/4240183.html
Copyright © 2011-2022 走看看