【问题标题】:PyDev's inteactive shell with Django problem带有 Django 问题的 PyDev 交互式 shell
【发布时间】:2011-02-17 17:41:15
【问题描述】:

我正在阅读 Django 教程并使用 PyDev Eclipse 插件进行开发。

对于交互式测试,我使用“带有 Django 的交互式外壳”,通过右键单击 PyDev 项目 -> Django -> 带有 Django 环境的外壳来访问。

这是我遇到的问题(“lemonanas”是我的项目名称,“polls”是我的应用名称):

>>from lemonanas.polls.models import Poll, Choice
>>Poll.objects.filter(id=1)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "F:\Python27\lib\site-packages\django\db\models\manager.py", line 141, in filter
    return self.get_query_set().filter(*args, **kwargs)
  File "F:\Python27\lib\site-packages\django\db\models\query.py", line 561, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File "F:\Python27\lib\site-packages\django\db\models\query.py", line 579, in _filter_or_exclude
    clone.query.add_q(Q(*args, **kwargs))
  File "F:\Python27\lib\site-packages\django\db\models\sql\query.py", line 1170, in add_q
    can_reuse=used_aliases, force_having=force_having)
  File "F:\Python27\lib\site-packages\django\db\models\sql\query.py", line 1058, in add_filter
    negate=negate, process_extras=process_extras)
  File "F:\Python27\lib\site-packages\django\db\models\sql\query.py", line 1225, in setup_joins
    field, model, direct, m2m = opts.get_field_by_name(name)
  File "F:\Python27\lib\site-packages\django\db\models\options.py", line 296, in get_field_by_name
    cache = self.init_name_map()
  File "F:\Python27\lib\site-packages\django\db\models\options.py", line 326, in init_name_map
    for f, model in self.get_all_related_m2m_objects_with_model():
  File "F:\Python27\lib\site-packages\django\db\models\options.py", line 401, in get_all_related_m2m_objects_with_model
    cache = self._fill_related_many_to_many_cache()
  File "F:\Python27\lib\site-packages\django\db\models\options.py", line 415, in _fill_related_many_to_many_cache
    for klass in get_models():
  File "F:\Python27\lib\site-packages\django\db\models\loading.py", line 167, in get_models
    self._populate()
  File "F:\Python27\lib\site-packages\django\db\models\loading.py", line 61, in _populate
    self.load_app(app_name, True)
  File "F:\Python27\lib\site-packages\django\db\models\loading.py", line 76, in load_app
    app_module = import_module(app_name)
  File "F:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in import_module
    __import__(name)
ImportError: No module named polls

如果我使用默认 shell,执行“manage.py shell”——一切正常。但默认 shell 不像“与 Django 交互的 shell”那么舒服。

我注意到“使用 Django 的交互式 shell”不会将我的应用程序文件夹(轮询)添加到 python 路径。我想这就是问题的本质。但不知道如何完全解决所有“import/pythonpath/etc”。 “与 Django 交互的 shell”的问题。 希望您能够帮助我。 谢谢。

【问题讨论】:

    标签: django shell pydev interactive


    【解决方案1】:

    自定义python路径,eclipse用来包含项目的路径。 (不是每个应用程序,只是项目文件夹。- 包含 settings.py 的那个)

    【讨论】:

      【解决方案2】:

      在 Eclipse 中,右键单击您的项目,转到 PyDev-> 设置为源文件夹

      【讨论】:

        猜你喜欢
        • 2014-02-12
        • 2014-02-02
        • 2013-08-22
        • 2023-03-30
        • 2017-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多