我已经配置了django-allauth,可以通过Facebook、Twitter和Google进行登录。
但是,django-allauth只接受在/accounts/login/
处的登录请求,在/accounts/signup/
处的注册请求等。我在我的主页上有一个模态表单用于登录和注册,我想仅使用该表单。
我如何使用django-allauth系统允许从我的主页上的模态表单中进行登录(包括社交登录和自定义登录)/注册等操作?我正在寻找一种机制来覆盖django-allauth的URL并将它们替换为我的页面/ URL。
代码在此处。
模态表单HTML位于此处。
这个问题与这个问题可能相似。然而,问题中的答案并不太容易理解。
根据一些答案,我进行了以下更改:
#views.py
def logreg(request):
context = {
'login_form': MyLoginForm(),
'signup_form': MySignupForm()
}
return render(request, 'login.html', context)
#In URL Patterns of urls.py
url(r'^login/', logreg, name='login'),
In Index ( from where call to the modal is to be made):
<p>Welcome visitor <a href="#" data-modal-url="{% url 'login' %}">Login</a> or <a href="#">Register</a></p>
所有这些工作导致了这个混乱的结果:
Internal Server Error: /login/
Traceback (most recent call last):
...
django.core.urlresolvers.NoReverseMatch: Reverse for 'ecomweb.home' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
During handling of the above exception, another exception occurred:
...
django.core.urlresolvers.NoReverseMatch: Reverse for 'home' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
我对正在发生的事情感到疯狂困惑。