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)用于调整一次运行中转换的用户数量。

于 2012-11-24T17:33:18.197 回答