Django:没有名为 context_processors 的模块,基础 URL

5 投票
2 回答
7152 浏览
提问于 2025-04-18 18:08

我在网上找了很多解决办法,但似乎都没用。我遇到了这个错误:

ImproperlyConfigured at /tool/page4/

Error importing module mysite.context_processors: "No module named context_processors"

settings.py

TEMPLATE_CONTEXT_PROCESSORS = (
# default context processors for Django 1.4
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages",
"django.core.context_processors.request",
"mysite.context_processors.baseurl",
)

views.py

if(team_value != "---------" && product_value != "---------" && type_team.length > 3 && pattern_value.length > 1)
      {
        $.ajax({

              url: {{BASE_URL}}'/tool/page4/add_team/',
              type: 'POST',
              dataType: 'html',
              data: {
                  "team" : team_value,
                  "product" : product_value,
                  "pattern" : pattern_value,
                  "type" : type_team,
                  "array" : data_array
              },
              async: false,

              error: function(XMLHttpRequest, textStatus, errorThrown) { 
                  alert("Status: " + textStatus); alert("Error: " + errorThrown); 
              } 
          });
        location.reload(true);

在我的项目文件夹里,我有一个叫 context_processor.py 和一个 init.py 的文件(这两个文件都不在任何文件夹里),但是系统似乎找不到这些文件。如果我想避免使用写死的URL,这样做可行吗?或者有没有其他建议?非常感谢大家的帮助!

2 个回答

0

在我的设置里,我有:

from django.conf import global_settings

TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
...
'<appname>.context_processors.base_url',
...

)
5

外部项目目录通常不在Python的搜索路径上。你可能只需要使用 context_processors.base_url,而不需要加上 mysite

撰写回答