如何在django中检查给定的URL是否有效

时间:2015-05-13 06:08:52

标签: python django django-class-based-views

我需要在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更加困惑。请任何人帮我做这个概念。

提前致谢。

1 个答案:

答案 0 :(得分:2)

DIR_RE = re.compile(r'somedirname', re.I) SUB_RE = re.compile(r'^/somesubdir$', re.I) 无效URL,因为没有协议(例如"www.google.com"http)。这是畸形的。

Django将

https视为有效网址,因为它具有正确的格式("http://www.googlecom")。虽然这个网址不起作用,但它没有格格不入。

... Django不会尝试检查protocol://something.something是否有效Top-Level Domain,因为有很多这些并且该集合经常发生变化。它只检查URL没有格式错误。