2012-05-23 54 views
0

我想重写Pinax项目的默认Account/context_processors.py。覆盖帐户/ context_processors.py(Pinax/Django)

但是,每次尝试时,都找不到该文件并继续使用默认设置。

在默认的项目中的文件的路径为:pinax /应用/帐号/ context_processors.py

我试图把它context_processors.py的定制版本,在我的项目在以下位置:

  1. MyApp的/应用/帐户/ context_processors.py
  2. MYAPP /帐户/ context_processors.py
  3. MYAPP/pinax/context_processors.py

我认为第一个应该是要走的路。

我在做什么错?

回答

1

Django依靠TEMPLATE_CONTEXT_PROCESSORS来定位和导入上下文处理器。这与模板搜索的行为有点不同。
因此,在设置文件中覆盖TEMPLATE_CONTEXT_PROCESSORS"pinax.apps.account.context_processors.account"更改为您的导入路径。

+0

谢谢okm!所以我实际上也试着改变它,但是一直得到以下错误:导入请求处理器模块apps.account.context_processors时出错:“没有名为account.context_processors的模块”。我没有使用正确的导入路径吗? – user1328021

+0

@ user1328021保持其与'INSTALLED_APPS'中的应用程序一致。另外,使用'apps.account.context_processors.your_function_name'而不是'apps.account.context_processors' – okm

+0

好吧!完善。所以在'INSTALLED_APPS'中它仍然指向'pinax.apps.accounts'。我把它改成了'accounts',因为在修改它的时候我把整个目录保存到我的本地项目中,并且它现在可以正常工作。 – user1328021