我需要在django中检查给定的URL是否有效。我使用了URLValidator来检查django中的url。但它不起作用。我已经解释了下面的代码。
from django.core.validators import URLValidator
from django.core.exceptions import ValidationError
a = "www.google.com"
url = URLValidator()
try:
url(a)
print "correct"
except:
print "wrong"
当我尝试运行上述概念时,它显示输出“错误”。然后,当我通过 a =“http://www.google.com”的值时,表示输出“正确”。之后,当我通过 a =“http://www.googlecom”的值时,意味着输出“正确” .am更加困惑。请任何人帮我做这个概念。
提前致谢。
答案 0 :(得分:2)
DIR_RE = re.compile(r'somedirname', re.I)
SUB_RE = re.compile(r'^/somesubdir$', re.I)
无效URL,因为没有协议(例如"www.google.com"
或http
)。这是畸形的。
https
视为有效网址,因为它具有正确的格式("http://www.googlecom"
)。虽然这个网址不起作用,但它没有格格不入。
... Django不会尝试检查protocol://something.something
是否有效Top-Level Domain,因为有很多这些并且该集合经常发生变化。它只检查URL没有格式错误。