【问题标题】:500 internet server error error_log:TemplateSyntaxError: Caught ImportError while rendering: No module named friends500 内部服务器错误 error_log:TemplateSyntaxError: Caught ImportError while rendering: No module named friends
【发布时间】:2011-05-09 07:36:43
【问题描述】:

最近我在 Apache 上使用 django 和 mod_wsgi。

我按照网页中的以下步骤进行操作:

“我的应用在/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 while rendering: No module named friends”(friends 是我的一个模块的名称)

我的站点路径是/var/BigPrject/mysite

【问题讨论】:

  • Alias ​​/site_media//mnt/www/mysite/media/中的空格是有意的吗?还是应该是:别名/site_media/ /mnt/www/mysite/media/ ?与 apache_django_wsgi.conf 中的其他路径相同
  • 应该是别名​​​/site_media/ /mnt/www/mysite/media/

标签: django mod-wsgi importerror


【解决方案1】:

对我来说一切都很好,除了项目文件夹不在 python 路径中。

您可以通过转到控制台并尝试 import friends 来验证它。

我猜,在你的情况下,你可以通过在wsgi 文件中添加以下行来解决这个问题:

sys.path.append (project)

【讨论】:

  • 对不起,我必须纠正这个。 Friends是mystie中的一个应用文件。而且我在mysite目录下只能在python shell中导入好友。当我尝试将我的 wsgi 文件的代码逐行输入到 python shell 中时。它甚至不适用于第一行。错误消息是:回溯(最近一次调用):文件“”,第 1 行,在 NameError: name file is not defined
  • % url index %
  • 我创建了一个新帖子,以便以后有相同问题的其他人更容易找到解决方案。 :stackoverflow.com/questions/5960132/…
猜你喜欢
  • 1970-01-01
  • 2017-09-05
  • 2014-01-17
  • 2017-09-16
  • 1970-01-01
  • 2015-04-30
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
相关资源
最近更新 更多