我有一个模型需要存储将成为 Django 环境的一部分的 URL。如果我存储的是普通 URL,我会使用models.URLField
, 并使用verify_exists
来确保 URL 确实存在。
但是,这在开发中效果不佳,因为开发服务器是单线程的,它会无限期地挂起,因为它不能一次处理两个请求。
我希望使用 来做某事,但是在将该文档页面末尾的函数调整为不接受请求的版本resolve()
时遇到困难,因为我想检查给定的本地 URL 是否可以被解析,并且在没有调用的情况下调用myview
从空白会话中引发 404。
我希望使用验证器来做到这一点,如下所示:
def validate_local_url(value):
try:
view, args, kwargs = resolve(value)
view(*args, **kwargs)
except Resolver404:
raise ValidationError(u'%s is not a local URL (not a valid URL)' % value)
except Http404:
raise ValidationError(u'%s is not a local URL (does not exist)' % value)
但是,如果没有将有效request
对象传递到kwargs
. 如何生成虚拟(空白)请求对象?我试过只使用django.http.HttpRequest
.