pycharm - 如何使用add_to_builtins“运行”项目?

时间:2012-06-29 16:24:38

标签: django pycharm

我正在使用pycharm和django。当我执行runserver命令时,我的项目启动,一切都很好。

如果我使用pycharm run命令 - 顶部的绿色箭头 - 那么我会遇到问题。

问题是:

runnerw.exe C:\development\python\python.exe manage.py runserver 127.0.0.1:8000
     

追踪(最近一次呼叫最后一次):

     

文件“manage.py”,第11行,in       导入设置

     

文件“C:\ development \ PycharmProjects \ dumpstown \ settings.py”,第185行,in       add_to_builtins( 'gravatar.templatetags.gravatar')

     

文件“C:\ development \ python \ lib \ site-packages \ django \ template \ base.py”,第1017行,在add_to_builtins中       builtins.append(import_library(模块))

     

文件“C:\ development \ python \ lib \ site-packages \ django \ template \ base.py”,第963行,在import_library中

raise InvalidTemplateLibrary("ImportError raised loading %s: %s" % (taglib_module, e))
     

django.template.base.InvalidTemplateLibrary:ImportError引发加载

     

gravatar.templatetags.gravatar:无法导入设置,因为未定义环境变量DJANGO_SETTINGS_MODULE。

     

使用退出代码1完成处理

源于我在这里使用add_to_builtins :(这是在settings.py文件中)

#gravatar stuff here.
add_to_builtins('gravatar.templatetags.gravatar')

我知道这是问题,因为如果我在settings.py文件中删除这一行?一切正常。

有没有办法解决pycharm的这个问题?

2 个答案:

答案 0 :(得分:2)

您需要在Settings |中设置Django设置模块Django支持|设置

http://www.jetbrains.com/pycharm/webhelp/django-support.html

已更新

django-gravatar的问题在于它的templatetags导入django.contrib.auth.models.User依赖于设置模块,而设置模块是由DJANGO_SETTINGS_MODULE环境变量在Django中加载的,这是由manage_manager函数调用在内部设置的。 .py,执行 AFTER 导入设置。因此,当您在settings.py中使用未记录的add_to_builtins功能时,您没有设置DJANGO_SETTINGS_MODULE env变量。所以这不是PyCharm的问题,但是未设置环境变量和使用未记录的Django功能add_to_builtin的问题。

当我从Unix控制台运行同一个项目时,我得到了同样的错误。

如果从控制台运行,您的环境中可能设置了DJANGO_SETTINGS_MODULE。 因此,为了使它在PyCharm中工作,您需要在Django运行配置中设置变量。 您可以阅读here(请参阅环境变量部分)。

答案 1 :(得分:0)

我在这里回答:https://stackoverflow.com/a/11299516/1061426

pycharm已损坏,无法与add_to_builtins一起使用。两个明显的解决方案是:

  1. 不要使用pycharm,使用一些免费的django插件进行eclipse或旧学校文本编辑?

  2. 使用pycharm,只是不要使用add_to_builtins。这是我失败的路线 - 修复导入模块的所有模板很烦人,但在我的情况下,这比移植到新IDE的麻烦要简单得多。