2

重複の可能性:
Google App Engine で大文字と小文字を区別しないフィルター クエリを作成するには?

現在、私のウェブアプリでは、

www.website.com/Rohit と入力すると、目的のプロファイル ページに移動します。

しかし、 www.website.com/rohit と入力すると、そこに移動せず、404 エラーに送られます。

基本的に、私のユーザー名は次のように保存されます: Rohit

また、特定のユーザーのプロファイル ページは次のようになっているはずです: www.website.com/username

しかし、私はウェブサイトが大文字を気にしないようにしたい.

アップデート

Martijn のおかげで、私の正規表現は問題ないことがわかりました。これはコードです。Google App Engine をチェックして、ユーザー名が既に存在するかどうかを確認するために使用します。

u = User.all().filter('username =', username).get()

^これを大文字に対応させるにはどうすればよいですか (大文字は関係ありませんか?)

4

1 に答える 1

2

filter('username =', username.lower())事前に小文字に変換するために使用します。

データベースを変換し、すべてのユーザー名も小文字に変更する必要があります。

users = User.all().fetch(1000000)
for user in users :
    if user.username != user.username.lower() :
        user.username = user.username.lower()
        user.put()  # save back to db only if changed

これをインタラクティブ コンソールから実行してfetch(offset,count)、1 回の実行で変換されるユーザー数を調整することができます。

于 2012-11-24T17:33:18.197 に答える