GAE:用户名/正则表达式

时间:2012-11-24 17:16:48

标签: python regex google-app-engine web-applications web

  

可能重复:
  How to make case insensitive filter queries with 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()

^我如何使这个首都友好(大写字母没有区别?)

1 个答案:

答案 0 :(得分: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)调整一次运行中转换的用户数量。