Django 環境の一部となる URL を保存する必要があるモデルがあります。通常の URL を保存する場合はmodels.URLField
、 と を使用verify_exists
して、URL が実際に存在することを確認します。
ただし、開発サーバーはシングルスレッドであるため、これは開発ではうまく機能しません。一度に 2 つの要求を処理できないため、無期限にハングします。
を使用して何かをしたいと思っていましたが、そのドキュメントページの最後にある関数をリクエストを受け取らないバージョンに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
です。