sha*_*nyu 32 python authentication django pydev django-models
我想抓住Django.我在Eclipse上使用Pydev.我写了一个简单的注册页面,我无法工作.Eclipse抱怨User.DoesNotExist未定义.最有可能的是,我遗漏了一些微不足道的东西.这是代码的相关部分:
from django.contrib.auth.models import User
...
class SignUpForm (forms.Form):
...
def clean_username (self):
try:
User.objects.get(username=self.cleaned_data['username'])
except User.DoesNotExist:
return self.cleaned_data['username']
raise forms.ValidationError(USERNAME_ALREADY_IN_USE)
...
Run Code Online (Sandbox Code Playgroud)
Dan*_*man 23
问题实际上是PyDev,而不是你的代码.你所做的是绝对正确的,但IDE总是难以用像Python这样的动态语言来解析属性.在DoesNotExist异常的情况下,它是通过__metaclass__而不是通过正常的对象继承添加的,因此PyDev不太可能找到它.但是,它应该肯定有效.
Smi*_*ris 20
我刚刚发现Pydev实际上有一个很好的解决方法.
转到Window > Preferences,然后转到Pydev > Editor > Code Analysis.
单击Undefined选项卡,将"DoesNotExist"添加到标题为将以下名称视为全局变量的文本框中.
Pydev有针对此类情况的解决方法(在运行时定义成员时).只需在字符串末尾添加#@ UndefinedVariable导致警告(当光标位于"DoesNotExist"时键盘上的ctrl + 1),它就不会抱怨.
| 归档时间: |
|
| 查看次数: |
19228 次 |
| 最近记录: |