修复:PythonAnywhere-> ImportError引发加载nrpccms.newsroom.templatetags.blog_extras:没有模块命名设置

时间:2013-10-19 02:04:15

标签: python django mezzanine pythonanywhere

尝试在PythonAnywhere(或在AnywhereAnywhere)部署我的第一个应用程序,我目前正在使用

TemplateSyntaxError: 'blog_extras' is not a valid tag library: ImportError raised loading nrpccms.newsroom.templatetags.blog_extras: No module named settings

[完整错误日志}(http://dpaste.com/1421863/see error live

app新闻室是INSTALLED_APPS中的第一个:

#! python
# ...
INSTALLED_APPS = (
    "nrpccms.newsroom",
    "django.contrib.admin",
# ...

编辑: 此外,blog_extras.py位于MY_PROJECT / MY_APP / templatetags,并且在MY_PROJECT / mY_APP

处有 init .py

当时: 此外,blog_extras.py位于MY_PROJECT / MY_APP / templates,并且在MY_PROJECT / mY_APP

处有 init .py

请帮助我查明我的错误,因为我不知道在哪里看:这是我在webapps / django艺术中的第一步。

非常感谢先进!

2 个答案:

答案 0 :(得分:1)

blog_extras.py位于错误的文件夹

my_project/    
    my_app/
        __init__.py
        models.py
        views.py
        templatetags/
            __init__.py
            blog_extras.py
blog_extras.py 应该存在于 templatetags 目录中,与models.py,views.py等处于同一级别。如果这不存在,请创建它 - 不要忘记 init .py文件,以确保将该目录视为Python包。

Official documentation on Custom Template Tags

答案 1 :(得分:0)

修正:我必须在我的wsgi脚本中将我的项目文件夹添加到sys.path。这是我的新wsgi脚本:

  

activate_this =   '/home/nimbiotics/.virtualenvs/nrpccms/bin/activate_this.py'   execfile(activate_this,dict( file = activate_this))

     

import os import sys

     

path ='/ home / nimbiotics / projects'如果路径不在sys.path中:       sys.path.append(路径)

     ################################################## ### nrpccms_path ='/ home / nimbiotics / projects / nrpccms'如果没有nrpccms_path      sys.path中的

:       sys.path.append(nrpccms_path)

     #      

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

     

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