【问题标题】:pycharm - how to "run" a project with add_to_builtins?pycharm - 如何使用 add_to_builtins“运行”一个项目?
【发布时间】:2012-07-01 04:55:24
【问题描述】:

我正在将 pycharm 与 django 一起使用。当我执行 runserver 命令时,我的项目启动并且一切正常。

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

问题是:

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

Traceback(最近一次调用最后一次):

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

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

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

文件“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的这个问题?

【问题讨论】:

  • 你用什么 Gravatar 应用?

标签: django pycharm


【解决方案1】:

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

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

更新

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

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

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

【讨论】:

【解决方案2】:

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

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

  1. 不要使用 pycharm,使用一些免费的 django Eclipse 插件,还是老式的文本编辑?

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

【讨论】:

    猜你喜欢
    • 2019-10-19
    • 2021-03-11
    • 2019-04-16
    • 2021-08-08
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多