3

それらをキャッチして、役立つメッセージをユーザーに返したいです。ドキュメントhttps://docs.djangoproject.com/en/1.4/topics/auth/には、無効なユーザー名を指定すると ValueError が発生すると書かれています。ユーザー名が既に存在する場合、 IntegrityError もあります。これらはすべてですか?

これは通常の方法ですか?

4

2 に答える 2

7

Django Auth Forms を使用していない場合は、検証を手動で行う必要があります。簡単な方法は、ユーザーがチェックする必要があるカスタム フォームを送信するときです。

  • ユーザー名が有効な場合は、\w+ などの正規表現と一致します
  • ユーザー名が既に使用されているかどうかを確認します。User.objects.filter(username=username).exists()
  • 電子メールがアカウントに既に使用されているかどうかを確認します。User.objects.filter(email=email).exists()
  • 次に、ユーザーを作成します

参考までに: django-allauthdjango-userenaなど、すでにいくつかの Django Auth パッケージがあり、自分で車輪を再発明する代わりに、すべてのものをかなりうまく処理します。

于 2012-12-30T13:22:06.963 に答える
0

Githubに移動したため、ソース コードをいつでも簡単に確認したり、マシンの Pythonsite-packagesディレクトリで見つけることができます。

django/contrib/auth/いくつかのコードにアクセスして分析するだけです。

于 2012-12-30T15:09:49.777 に答える