Py学习  »  Django

全局Context处理器的定义文件应该叫什么名字,放在哪里?

sincerefly • 11 年前 • 6115 次点击  

想在Django代码中加入google统计。找到个教程:http://www.nomadblue.com/blog/django/google-analytics-tracking-code-into-django-project/ 不过还是有点点问题求助。

比如如下代码应该放在哪个文件中,哪个目录级别。

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文件中的定义,里面的参数是怎么填写的?如这个“'website.context_processors.google_analytics”。是website目录中context_processors.py文件中吗?

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

新版本的Django创建的工程目录结构是mysite目录下还有个mysite目录。那这个context_processors.py文件直接放在最上层的父mysite下吗,还是在父mysite下新建个什么名字的目录,有什么约定或是习惯?要是新建目录的话,直接创建就可以吧。 先谢谢啦~~~

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/594
文章 [ 5 ]  |  最新文章 11 年前
Py站长
Reply   •   1 楼
Py站长    11 年前

嗯,你可以试一下建在这个目录 下试试,你这个统计是比较通用的

sincerefly
Reply   •   2 楼
sincerefly    11 年前

@Django中国社区 十分感谢您的帮助,我找的那个教程大概是要实现在setting.py中定义两个变量,来配置谷歌统计。不填写信息,则不添加统计,所以使用到了这些代码。

enter image description here

这个图是目录,在这里的文件应该都能通过指定路径访问的到。如果是您的话,会把 context_processors.py放到哪个目录下,或者是新建一个context的目录吗

Py站长
Reply   •   3 楼
Py站长    11 年前

这里有一篇 讲 context的: http://www.cnblogs.com/amghost/p/3572136.html

Py站长
Reply   •   4 楼
Py站长    11 年前

另外,如果你只是要添加Google统计,直接放 js代码不就好了,

Py站长
Reply   •   5 楼
Py站长    11 年前

你的定义是 website.context_processors.google_analytics

说明文件名是 context_processors.py 函数名是 google_analytics, 应该放在 你的项目可以找到的目录的 website 目录下