Django:用户名的urlpattern?

居特利

到目前为止,队友已将此代码用于用户名的网址格式:

# urls.py
urlpatterns = patterns('...',
   url(r'^user/(?P<username>[.-_\w]+)/foo', 'myapp.views.foo'),
   ....

有一个隐藏的错误:如果用户名包含,-则反转将失败,因为正则表达式模式的开头[.-_表示“所有字符从._”。

可以使用什么模式来匹配所有有效的用户名?

PS:-如果您想在Django中匹配所有可能的用户名,我想在正则表达式中添加符号是不够的。

乍得·米勒

我认为您不应该在URL模式中添加任何用户名验证。将您的验证放在一个地方-第一次创建帐户的地方。

应该匹配用户在那里提供的所有内容,并将其传递给安全的数据库函数以查找用户名,如果用户名不存在,则失败。

因此,在您的url模式中,让浏览器发送非空的任何内容,并依靠非常聪明的数据库来告诉您您先前确定的有效内容。

url(r'^user/(?P<username>.+)/foo$', 'myapp.views.foo'),

另外,请注意最后的“ $”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章