0
我有一个表单验证的问题。这是我的清洁方法的一部分(forms.py - 类SiteAddFormFull(forms.ModelForm)):Django管理 - 管理面板中的表单验证
url = self.cleaned_data['url']
if self.check_url_in_database(url) is True:
errors.append('Url already exists')
if errors:
raise forms.ValidationError(errors)
return self.cleaned_data
这是check_url_in_database方法:
def check_url_in_database(self, url1):
if url1[7:10] == 'www':
url = 'http://' + url1[11:]
else:
url = url1.replace('http://', 'http://www.')
try:
Site.objects.get(url=url1)
return True
except ObjectDoesNotExist:
try:
Site.objects.get(url=url)
return True
except ObjectDoesNotExist:
return False
当我创建新的对象(网站)我的django管理员工作正常(验证如果url存在于数据库中)。我尝试修改现有对象时出现问题。它会抛出相同的错误('Url already exists')。什么是验证新对象的正确方法?
另外,我不清楚你在第一个if/else语句中要做什么。你有没有想过如何为https://工作? – Alasdair
是的。你是对的 - 我忘了https。我会纠正这一点。 – jundymek