django条件网址verify_exists

Pau*_*ulo 1 python django django-models

我的模型中定义了3个url字段,如下所示:

image_1 = models.URLField(max_length=100, verify_exists=True, blank=True)
image_2 = models.URLField(max_length=100, verify_exists=True, blank=True)
image_3 = models.URLField(max_length=100, verify_exists=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

我的问题是,有没有办法可以测试是否verify_exists返回True或者False如果是这样取决于输出?

Pan*_*nnu 5

什么Django的确实是用它的 URLValidator,看看网址是否有效.你可能会使用相同的验证django.core

编辑: 例如,让我们说你必须验证django官方网站与网址https://www.djangoproject.com/,是否存在.代码看起来像这样:

from django.core.validators import URLValidator
from django.core.exceptions import ValidationError


my_url_validator = URLValidator(verify_exists=True) #creates a URLValidator object with verify_exists.
my_url = "https://www.djangoproject.com/" #url to be verified   

#check if url is valid :)
try:                           
   my_url_validator(my_url) 
except ValidationError:
   #not valid!! :_( 
   #fix: custom stuff to the rescue :)     
   CustomStuff()...
Run Code Online (Sandbox Code Playgroud)

  • 从django 1.5开始,verify_exists参数已经被弃用/删除,你不能再验证url是否存在,它现在只是一个有效url的简单正则表达式匹配 (5认同)