Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » TemplateSyntaxError: Caught ImportError while rendering: No module ... [RSS Feed]

#1 Июль 17, 2011 13:39:28

s.r
От:
Зарегистрирован: 2011-07-17
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

TemplateSyntaxError: Caught ImportError while rendering: No module ...

Доброго времени суток. У меня возникла следующая проблема. Я установил Apache/2.2.15 (Fedora 12), mod_python/3.3.1, Python/2.6.2 и Django.

Первым делом решил настроить пустой проект, чтобы “всё работало” и в итоге написал такую вот конфигурцию в httpd.conf:

<Location />
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonDebug On
PythonPath "['/var/www/','/var/www/mysite/'] + sys.path"
</Location>
С этой конфигурацией “пустой” проект открывается по адресу.

Когда вместо “пустого” mysite установил “свой” mysite, то начали сыпаться ошибки, которые уже не смог побороть. А именно, следующий лог:
MOD_PYTHON ERROR
ProcessId: 13578
Interpreter: 'baykal.ru'
ServerName: 'baykal.ru'
DocumentRoot: '/var/www/html'
URI: '/'
Location: '/'
Directory: None
Filename: '/var/www/html/'
PathInfo: ''
Phase: 'PythonHandler'
Handler: 'django.core.handlers.modpython'
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)
File "/usr/lib/python2.6/site-packages/mod_python/importer.py", line 1229, in _process_target
result = _execute_target(config, req, object, arg)
File "/usr/lib/python2.6/site-packages/mod_python/importer.py", line 1128, in _execute_target
result = object(arg)
File "/usr/lib/python2.6/site-packages/django/core/handlers/modpython.py", line 228, in handler
return ModPythonHandler()(req)
File "/usr/lib/python2.6/site-packages/django/core/handlers/modpython.py", line 201, in __call__
response = self.get_response(request)
File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 141, in get_response
return self.handle_uncaught_exception(request, resolver, sys.exc_info())
File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 165, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/usr/lib/python2.6/site-packages/django/views/debug.py", line 58, in technical_500_response
html = reporter.get_traceback_html()
File "/usr/lib/python2.6/site-packages/django/views/debug.py", line 137, in get_traceback_html
return t.render(c)
File "/usr/lib/python2.6/site-packages/django/template/__init__.py", line 173, in render
return self._render(context)
File "/usr/lib/python2.6/site-packages/django/template/__init__.py", line 167, in _render
return self.nodelist.render(context)
File "/usr/lib/python2.6/site-packages/django/template/__init__.py", line 796, in render
bits.append(self.render_node(node, context))
File "/usr/lib/python2.6/site-packages/django/template/debug.py", line 72, in render_node
result = node.render(context)
File "/usr/lib/python2.6/site-packages/django/template/debug.py", line 89, in render
output = self.filter_expression.resolve(context)
File "/usr/lib/python2.6/site-packages/django/template/__init__.py", line 579, in resolve
new_obj = func(obj, *arg_vals)
File "/usr/lib/python2.6/site-packages/django/template/defaultfilters.py", line 697, in date
return format(value, arg)
File "/usr/lib/python2.6/site-packages/django/utils/dateformat.py", line 281, in format
return df.format(format_string)
File "/usr/lib/python2.6/site-packages/django/utils/dateformat.py", line 30, in format
pieces.append(force_unicode(getattr(self, piece)()))
File "/usr/lib/python2.6/site-packages/django/utils/dateformat.py", line 187, in r
return self.format('D, j M Y H:i:s O')
File "/usr/lib/python2.6/site-packages/django/utils/dateformat.py", line 30, in format
pieces.append(force_unicode(getattr(self, piece)()))
File "/usr/lib/python2.6/site-packages/django/utils/encoding.py", line 66, in force_unicode
s = unicode(s)
File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 206, in __unicode_cast
return self.__func(*self.__args, **self.__kw)
File "/usr/lib/python2.6/site-packages/django/utils/translation/__init__.py", line 55, in ugettext
return real_ugettext(message)
File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 55, in _curried
return _curried_func(*(args+moreargs), **dict(kwargs, **morekwargs))
File "/usr/lib/python2.6/site-packages/django/utils/translation/__init__.py", line 36, in delayed_loader
return getattr(trans, real_name)(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/django/utils/translation/trans_real.py", line 276, in ugettext
return do_translate(message, 'ugettext')
File "/usr/lib/python2.6/site-packages/django/utils/translation/trans_real.py", line 266, in do_translate
_default = translation(settings.LANGUAGE_CODE)
File "/usr/lib/python2.6/site-packages/django/utils/translation/trans_real.py", line 176, in translation
default_translation = _fetch(settings.LANGUAGE_CODE)
File "/usr/lib/python2.6/site-packages/django/utils/translation/trans_real.py", line 159, in _fetch
app = import_module(appname)
File "/usr/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
TemplateSyntaxError: Caught ImportError while rendering: No module named home
В проекте имеется приложение home (на которое и ругается). Структура, примерно, вот такая:
.
__init__.py manage.py settings.py urls.py
./home:
admin.py forms.py __init__.py models.py tests.py views.py
./home/templatetags:
__init__.py site_utils.py
./media:
cache css img js
./templates:
base.html book.html gray.html map.html photo.html photo-list.html scroll.html
Ну и часть settings.py, которая может нести хоть какую-то ответственность за ошибку:
TEMPLATE_LOADERS = (

'django.template.loaders.filesystem.Loader',

'django.template.loaders.app_directories.Loader',

)

MIDDLEWARE_CLASSES = (

'django.middleware.common.CommonMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

)

ROOT_URLCONF = 'mysite.urls'

TEMPLATE_DIRS = (

'/var/www/mysite/templates/',

)

INSTALLED_APPS = (

'home',

'sorl.thumbnail',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.sites',

'django.contrib.messages',

'django.contrib.admin',

)
Пишется ошибка, что вроде как не может найти модуль home, но этот модуль же явно есть и он должен быть доступен, судя по тому, что написано в PythonPath (на Apache).



Отредактировано (Июль 17, 2011 13:41:35)

Офлайн

#2 Июль 17, 2011 23:13:16

fashust
От:
Зарегистрирован: 2011-07-17
Сообщения: 30
Репутация: +  3  -
Профиль   Отправить e-mail  

TemplateSyntaxError: Caught ImportError while rendering: No module ...

была похожая проблема, но решилась довольно просто…
вместо:

from myapp.views import mega_view
написал:
form my_project.myapp.views import ...
+ в settings в INTALLED_APPS:
...
'my_project.myapp1',
'my_project.myapp2',
'my_project.myapp3'
...
А вообще mod_python depricated , лучше mod_wsgi



import this

Отредактировано (Июль 17, 2011 23:15:48)

Офлайн

  • Начало
  • » Django
  • » TemplateSyntaxError: Caught ImportError while rendering: No module ...[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version