在Django中加入用户名加密

时间:2015-01-14 00:53:02

标签: django django-allauth

使用我当前的设置,在尝试使用用户名中的加号注册时出现错误,例如:" user + name"。我正在使用django allauth

如何迎合这一点,或者至少从用户名字段中排除加号(和其他任何符号)?

首先,个人资料网址不起作用:

url(r'^u/(?P<username>[-\w]+)/$', 'single_user', name='single_user'),

注册有效,但后来我得到了:

Reverse for 'single_user' with arguments '(<SimpleLazyObject: <User: user+name>>,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['u/(?P<username>[-\\w]+)/$']

不确定这是否是特定于allauth的问题 - 但无论哪种解决方案都很棒!

2 个答案:

答案 0 :(得分:0)

我还没有使用allauth,但我怀疑你的正则表达式是错误的。我想你想要这个:

url(r'^u/(?P<username>[\w\+]+)/$', 'single_user', name='single_user'),

答案 1 :(得分:0)

使用了一些dylrei的措辞来正确搜索另一个选项,找到了似乎有用的东西:

url(r'^u/(?P<username>[^/]+)/$', 'single_user', name='single_user'),