使用我当前的设置,在尝试使用用户名中的加号注册时出现错误,例如:" 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的问题 - 但无论哪种解决方案都很棒!
答案 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'),