所以这是我的问题 - 我的 django 项目中的 gravatar 应用程序(来自 google 项目 - 在这里!http://code.google.com/p/django-gravatar/)在启动时崩溃了一切。
我得到这个错误Error: No module named gravatar
这是我安装的应用程序:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'dumpstown.dumpstownapp',
'bootstrap_toolkit',
'registration',
'gravatar'
)
当我运行这个时,从控制台:
>> import sys
>> print sys.path
['', 'C:\\development\\python\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg',
'C:\\development\\python\\lib\\site-packages\\pip-1.1-py2.7.egg', 'C:\\developm
ent\\PycharmProjects\\lib\\gravatar', 'C:\\Windows\\system32\\python27.zip', 'C:
\\development\\python\\DLLs', 'C:\\development\\python\\lib', 'C:\\development\\
python\\lib\\plat-win', 'C:\\development\\python\\lib\\lib-tk', 'C:\\development
\\python', 'C:\\development\\python\\lib\\site-packages']
我在这里想念什么?
更新啊,奇怪。我检查了 gravatar 文件夹,我有
templatetags dir
__init__.py
models.py
views.py
另外,如果我将已安装的应用程序部分更改为:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'dumpstown.dumpstownapp',
'bootstrap_toolkit',
'registration',
'templatetags'
)
然后服务器启动正常并运行。但是我……我现在很困惑!我是要导入模板标签吗?或者是其他东西?如果我正在导入模板标签,我如何引用 gravatar 的东西?
编辑:解决。
我只是不明白python是如何工作的,看起来!我完全在 pythonpath 中添加了错误的项目 - 我正在添加C:\\development\\PycharmProjects\\lib\\gravatar
,我应该在其中添加C:\\development\\PycharmProjects\\lib
这解决了问题,现在我可以随心所欲地使用 gravatar。在我的第一个示例中,settings.py 条目如上(即,只是'gravatar'),我使用它的方式是我只是 {% load gravatar %}
欢呼!