迎合Django中的加号登录用户名
在我当前的设置中,当我尝试使用用户名中的加号(例如:user+name)注册时,会出现错误。我用的是django allauth 如何满足这一点,或者至少从用户名字段中排除加号和其他任何字符 首先,配置文件url不起作用:迎合Django中的加号登录用户名,django,django-allauth,Django,Django Allauth,在我当前的设置中,当我尝试使用用户名中的加号(例如:user+name)注册时,会出现错误。我用的是django allauth 如何满足这一点,或者至少从用户名字段中排除加号和其他任何字符 首先,配置文件url不起作用: url(r'^u/(?P<username>[-\w]+)/$', 'single_user', name='single_user'), 注册是可行的,但我得到: Reverse for 'single_user' with arguments '(<S
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特有的问题-但任何一种解决方案都是很好的 我没有使用allauth,但我怀疑你的正则表达式是错误的。我想你想要这个:
url(r'^u/(?P<username>[\w\+]+)/$', 'single_user', name='single_user'),
使用dylrei的一些措辞正确搜索另一个选项,发现了一些似乎有效的方法:
url(r'^u/(?P<username>[^/]+)/$', 'single_user', name='single_user'),
谢谢你的回复。尝试您的建议后,立即出现此错误:未找到参数为“”且关键字参数为“{}”的“single_user”的反转。尝试了1种模式:[u/?P\\W+/$”]已在上面编辑。想要[\w\+]+,不是\w。对不起。不过,我不确定这是否真的是问题所在。对于该错误消息,SO中还有其他几个问题,但很难知道下一步如何处理给定的信息。