условный URL django verify_exists - PullRequest
       4

условный URL django verify_exists

1 голос
/ 20 сентября 2011

У меня есть 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)

Мой вопрос: есть ли способ проверить, возвращает ли verify_exists True или False, и еслитак что действовать в зависимости от выхода?

1 Ответ

5 голосов
/ 20 сентября 2011

Что делает django, так это использует URLValidator, чтобы увидеть, является ли URL действительным или нет. то, что вы могли бы использовать те же проверки, которые присутствуют в django.core

EDIT: Например, допустим, вы должны проверить, существует ли официальный сайт django с URL 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()...
...