500 ошибка интернет-сервера error_log:TemplateSyntaxError: Caught ImportError при рендеринге: нет модуля с именем друзей

Недавно я использую django и mod_wsgi на Apache.

Я следую следующим шагам, найденным на веб-странице:

"Мое приложение в /mnt/www/, имя mysite называется apache и создается в каталоге mysite media, а затем выполните следующие действия:"

создайте файл apache_django_wsgi.conf следующим образом:

Alias ​​/ site_media / / mnt / www / mysite / media /

<Directory /mnt/www/mysite/media>
Order allow, deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</ Directory>

Alias ​​/ media / / usr/local/lib/python2.5/site-packages/django/contrib/admin/media /

<Directory /usr/local/lib/python2.5/site-packages/django/contrib/admin/media>
Order allow, deny
Options Indexes
Allow from all
IndexOptions FancyIndexing  
</ Directory>

WSGIScriptAlias ​​/ / mnt / www / mysite / apache / django.wsgi

<Directory /mnt/www/mysite>
Order deny, allow 
Allow from all
</ Directory>

<Directory /mnt/www/mysite/apache>
Allow from all
</ Directory>

создайте файл django.wsgi следующим образом:

import os, sys

# Calculate the path based on the location of the WSGI script.

apache_configuration = os.path.dirname (__file__)

project = os.path.dirname (apache_configuration)

workspace = os.path.dirname (project)

sys.path.append (workspace)

os.environ ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

os.environ ['PYTHON_EGG_CACHE'] = '/ tmp'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler ()

print>> sys.stderr, sys.path

Я выполнил этот шаг, но когда я запускаю его под Apache через браузер, я получаю 500 Internet Server Error. Затем я проверяю erro_log: он говорит: «TemplateSyntaxError: Caught ImportError при рендеринге: нет модуля с именем друзей» (друзья — это имя одного из моих модулей)

Путь к моему сайту: /var/BigProject/mysite.


person Newbie    schedule 09.05.2011    source источник
comment
Пробелы в Alias/site_media//mnt/www/mysite/media/ предназначены? или это должно быть: Псевдоним /site_media/ /mnt/www/mysite/media/ ? То же самое с другими путями в вашем apache_django_wsgi.conf   -  person Mihai Oprea    schedule 09.05.2011
comment
это должен быть Псевдоним /site_media/ /mnt/www/mysite/media/   -  person Newbie    schedule 11.05.2011


Ответы (1)


Для меня все выглядит хорошо, за исключением того, что папка проекта не находится на пути к Python.

Вы можете проверить это, зайдя в консоль и попробовав import friends.

Я предполагаю, что вы можете исправить это, в вашем случае, добавив следующую строку в ваш файл wsgi:

sys.path.append (project)
person lprsd    schedule 09.05.2011
comment
извините, я должен исправить это. Друзья — это файл приложения в mystie. И я могу импортировать друзей в оболочку Python только тогда, когда я нахожусь в каталоге mysite. когда я пытаюсь ввести код моего файла wsgi в оболочку python построчно. это даже не работает для первой строки. Сообщение об ошибке: Traceback (последний последний вызов): файл ‹stdin›, строка 1, в ‹module› NameError: имя файла не определено - person Newbie; 11.05.2011
comment
% url index % ‹-- Я думаю, это то, из-за чего возникает ошибка - person Newbie; 11.05.2011
comment
Я создал новый пост, чтобы другим людям с тем же вопросом было легче найти решение позже. . stackoverflow.com/questions/5960132/ - person Newbie; 11.05.2011