我正在尝试验证django项目中的表单,部分验证是检查项目是否存在。
环境:
python 3.6.3
django 1.10.8
python-keystoneclient 3.14.0
我目前正在检查
def clean_projectname(self):
submitted_data = self.cleaned_data['projectname']
newproj = "PROJ-FOO" + submitted_data.upper()
keystone = osauth.connect()
try:
project = keystone.projects.find(name=newproj)
raise forms.ValidationError('The project name is already taken')
except NotFound:
return submitted_data
try部分将返回一个项目对象,否则将找到404未找到的异常。
我试过除了NotFound但Django给我一个错误
name 'NotFound' is not defined
我很感激你的帮助。
答案 0 :(得分:2)
您是否从NotFound
导入了python-keystoneclient
?代码运行的唯一方法是在文件中的其他位置使用此行:
from keystoneclient.exceptions import NotFound
答案 1 :(得分:0)
我不知道NotFound异常。这是你自己写的东西,或者你是否打算使用类似的声音Django异常?