2013-04-22 37 views
0

我不是美国人。我希望我能清楚地表达我发生了什么。我对django很疯狂,没有名为xxx的模块

**Django wrong log:** 
    ImportError at /accounts/signin/ 
    No module named coltrane 
    Request Method: GET 
    Request URL: http://abc.com:8080/accounts/signin/ 
    Django Version: 1.4.1 
    Exception Type: ImportError 
    Exception Value: No module named coltrane 
    Exception Location: /usr/lib/python2.6/site-packages/django/utils/importlib.py in import_module, line 35 
    Python Executable: /usr/bin/python 
    Python Version: 2.6.6 
    Python Path: ['/home/graduate', 
    '/usr/lib64/python26.zip', 
    '/usr/lib64/python2.6', 
    '/usr/lib64/python2.6/plat-linux2', 
    '/usr/lib64/python2.6/lib-tk', 
    '/usr/lib64/python2.6/lib-old', 
    '/usr/lib64/python2.6/lib-dynload', 
    '/usr/lib64/python2.6/site-packages', 
    '/usr/lib64/python2.6/site-packages/PIL', 
    '/usr/lib64/python2.6/site-packages/gtk-2.0', 
    '/usr/lib/python2.6/site-packages', 
    '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info'] 
    Server time: 星期二, 23 四月 2013 11:27:33 +0800 

    Error during template rendering 
    In template /usr/lib/python2.6/site-packages/userena/templates/userena/signin_form.html, error at line 29 

    No module named coltrane 
    19  </p> 

    20  {% else %} 

    21  <p> 

    22  {{ field.label_tag }} 

    23  {{ field }} 

    24  </p> 

    25  {% endif %} 

    26  {% endfor %} 

    27 </fieldset> 

    28 <input type="submit" value="{% trans "Signin" %}" /> 

    29 <p class="forgot-password"><a href="{% url 'userena_password_reset' %}" title="{% trans 'Forgot your password?' %}">{% trans "Forgot your password?" %}</a></p> 

    30 {% if next %}<input type="hidden" name="next" value="{{ next }}" />{% endif %} 

    31 </form> 

    32 {% endblock %} 

    33 

但我的设置文件:

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    'django.contrib.admindocs', 
    'django.contrib.markup', 
    'django.contrib.comments', 
    'userena', 
    'easy_thumbnails', 
    'guardian', 
    'graduate.coltrane', 
    'graduate.accounts', 
) 

我的项目目录:

[[email protected] graduate]# pwd 
/home/graduate/graduate 
[[email protected] graduate]# ls 
accounts coltrane __init__.py __init__.pyc settings.py settings.pyc templates urls.py urls.pyc wsgi.py wsgi.pyc 
[[email protected] graduate]# 

我疯了,为什么Django的告诉我 “没有模块名为雷恩”,我很困惑。

这个问题直到现在我需要很长时间。

所以我只是去睡觉,希望有人能给我一只手。

+0

模板引擎不喜欢第29行,该行开始

。 – jarmod 2013-04-22 19:54:57

+0

你在'installed_apps'中有''graduate.coltrane'',也许你需要''从研究生导入coltrane''做! – Meitham 2013-04-22 20:00:16

回答

1

如果您检查PYTHONPATH,/home/graduate/graduate需要在路径上以便使coltrane软件包可导入。

您需要检查项目配置或将coltrane包移动到/home/graduate

+0

有时我会在〜/ .bash_profile中添加“export PYTHONPATH =”/ home/graduate/graduate/coltrane /:$ PYTHONPATH“”,但这也行不通。 – budong 2013-04-23 01:12:44

+1

你应该只添加'/ home/graduate/graduate'。执行'import coltrane'语句时,将遍历'PYTHONPATH'上定义的所有目录,以检查是否有模块('〜graduate/graduate/coltrane.py')或包('〜graduate/graduate/coltrane/__ init __。py')位于任何目录中。如果你在'PYTHONPATH'上直接添加了软件包,它会发现'〜graduate/graduate/coltrane/coltrane.py'或'〜graduate/graduate/coltrante/coltrane/__ init __。py',这是不正确的。 – 2013-04-23 07:09:09

+0

谢谢菲利普!当我将一个Django项目移动到另一台机器时忘记了添加PYTHONPATH时,你刚刚让我出了一个漏洞:-) – 2013-10-31 18:28:47

-1

尝试使用网址模板标签 wihtout的'

29 <p class="forgot-password"><a href="{% url 'userena_password_reset' %}" 

这样

{% url userena_password_reset %} 

有时候你在调试器得到的消息是不明确的。

+0

在传递给url标记的url名称周围使用引号是正确的(现在除非你希望参数是必需的解释为变量)。 – 2013-04-22 21:47:28

+0

这是django-userna模块,我只是不改变它,我不认为它有什么问题。 – budong 2013-04-23 01:15:18