Django + pydev 的自动补全
我正在尝试让pydev自动补全我的模型数据中的变量,但到目前为止还没有成功。
我已经在
Window->Preferences->PyDev->Interpreter - Python
中配置了PYTHONPATH,确保它包含了django文件夹和我的项目文件夹。
然后,如果我有一个这样的模型:
class Team(models.Model):
name = models.CharField(max_length=50)
id = models.IntegerField()
并且从同一个django项目的另一个文件中导入这个文件
from MyProject.MyApp.models import Team
代码补全是有效的,比如我按CTRL+SPACE来显示自动补全的选项
team = Team.objects.[CTRL+SPACE]
但是如果我想要“自动补全”变量t时,它就不工作了。例如
team.[CTRL+SPACE]
没有给我任何选项。
有没有什么办法解决这个问题?谢谢。
更新:我进一步调查了问题的根源,发现这和路径配置或自动补全设置无关,似乎是与对象类型的检测有关(系统无法识别team是一个Team对象,因此不显示对象的属性)。
2 个回答
0
模型对象的自动补全功能坏掉了,或者至少在2008年的时候是这样的:
http://www.mail-archive.com/django-users@googlegroups.com/msg52874.html
你在用最新版本吗?
2
你有没有把你的网站包和项目文件夹添加到PyDev的Python路径里?
右键点击你的项目文件夹,然后...
选择 PyDev > 设置为PyDev项目
再右键点击一次,然后...
选择 属性 > PyDev - PYTHONPATH
点击外部库。然后点击添加源文件夹。选择你的项目文件夹和你的网站包文件夹。如果你在使用虚拟环境(virtualenv),当然,为什么不呢;)你需要选择对应虚拟环境的site-packages文件夹。你不需要选择系统的site-packages文件夹。
现在我们来检查一下自动补全的设置...
窗口 > 首选项 > PyDev > 编辑器 > 代码补全
我把自动补全设置为除了闭合括号以外的所有内容,自动补全的延迟时间设置为0。我也不建议开启自动导入功能。
希望这些能帮到你!