Я хочу зарегистрироваться в django, если URL существует и если он делает я хочу показать что-то на экране, т.е.:
if URL_THAT_POINTS_TO_SOME_PDF exists
SHOW_SOMETHING
Изменить: обратите внимание, это больше не действует для любой версии Django выше 1.5.
Я предполагаю, что вы хотите проверить, существует ли файл на самом деле, а не только объект (это просто оператор if )
Во-первых, я рекомендую всегда просматривать исходный код Django, потому что вы найдете отличный код , который вы могли бы использовать:)
Я предполагаю, что вы хотите сделать это в шаблоне. Нет встроенного тега шаблона для проверки URL-адреса, но вы можете использовать этот класс URLValidator
в теге шаблона для его проверки. Проще говоря:
from django.core.validators import URLValidator
from django.core.exceptions import ValidationError
validate = URLValidator(verify_exists=True)
try:
validate('http://www.somelink.com/to/my.pdf')
except ValidationError, e:
print e
Класс URLValidator
выдаст ошибку ValidationError
, если не сможет открыть ссылку. Он использует urllib2
для фактического открытия запроса, поэтому он не просто использует базовую проверку регулярных выражений (но он также делает это.)
Вы можете вставить это в собственный тег шаблона, который вы узнаете, как создайте в django docs и вперед.
Надеюсь, это начало для вас.
Потребовалось дополнительно:
from django.core.exceptions import ValidationError
чтобы это заработало у меня. Просто говорю ;0)