我已经将 django-allauth 配置为通过 Facebook、Twitter 和 Google 登录。
但是,django-allauth 仅接受登录请求/accounts/login/
,仅在以下位置提出注册请求/accounts/signup/
ETC。
我的主页上有一个用于登录和注册的模式表单,我只想使用它。
如何使用 django-allauth 系统允许从主页上的模式表单登录(社交和自定义)/注册等?
我正在寻找覆盖 django-allauth 的 url 并用我的页面/ url 替换它们的机制。
代码是here https://github.com/ShubhamRathi/ECommerce-Django
模式形式 HTML 是here https://github.com/ShubhamRathi/ECommerce-Django/blob/master/ecomweb/static/modals/login.html.
这个问题或许类似于this https://stackoverflow.com/questions/18695761/django-allauth-sign-up-login-and-social-connect-into-one-page。然而问题中的答案不太容易理解。
根据一些答案,我做了这些更改:
#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: []
我对正在发生的事情感到疯狂。