2009-07-02 5 views
2

既存のソリューションに不満を抱いた後、私はDjangoのOpenIdプロバイダを作成しました。ユーザー名をDjangosログインフォームにプリセットする方法は?

今、誰かがhttp://tejp.de/users/abc/としてどこかに自分自身を認証したいし、そのためにログインする必要がある場合、私は「ABC」に事前設定のユーザー名とログインフォームを表示したいです。 redirect_to_loginのような標準的な機能は、このためのパラメータを提供していないようで、django.contrib.auth.views.loginのログインビューに手動でリダイレクトするときに、その値をプリセットする方法もわかりません。また、追加のパラメータ値をテンプレートに追加する簡単な方法がないように思われます。そうすれば、そこにプリセット値を挿入することができます。

ログインフォームにユーザー名を自動的に入力する方法はありますか?可能であれば、通常のログインビューを使用したいと思いますが、&はすべてのログインコードを貼り付け、必要な変更を加えて編集しません。上記の問題を解決する方法の

答えて

-1

いくつかは以下のとおりです。

  1. は、独自の認証フォームを作成し、表示する前にユーザー名を事前入力します。

  2. javascriptを使用してurlからユーザー名を削除し、フォームに入れます。

1

djangoはすべてpythonであり、ソースはあなたの友人であることを覚えておいてください。

ここにはredirect_to_loginの元のソースがあります。

login_urlをオーバーライドするだけで、適切なパラメータを使用するURLへのリンクが設定されているようです。

return redirect_to_login(login_url=reverse('my_login_view', [], {'username': username})) 

ような何かあなたが新しいフォームを必要としない、あなただけの既存のログインフォームを事前入力する必要があります。

関連する問題