4
我一直在尋找一個解決方案,現在我無法圍繞這一點來解決問題。我所要做的就是在同一頁面和主頁上登錄allauth登錄和註冊表單,而不是在/ accounts url下。有沒有人有這方面的經驗,或有一個解決方案,他們可以分享或指向正確的方向?任何幫助,將不勝感激。主頁上的django allauth登錄和註冊表
我一直在尋找一個解決方案,現在我無法圍繞這一點來解決問題。我所要做的就是在同一頁面和主頁上登錄allauth登錄和註冊表單,而不是在/ accounts url下。有沒有人有這方面的經驗,或有一個解決方案,他們可以分享或指向正確的方向?任何幫助,將不勝感激。主頁上的django allauth登錄和註冊表
首先,我們需要使用allauth的註冊視圖
from allauth.accounts.views import SignupView
from allauth.accounts.forms import LoginForm
class CustomSignupView(SignupView):
# here we add some context to the already existing context
def get_context_data(self, **kwargs):
# we get context data from original view
context = super(CustomSignupView,
self).get_context_data(**kwargs)
context['login_form'] = LoginForm() # add form to context
return context
驗證錯誤不會在這裏呈現的登錄表單創建自定義視圖,然後我們需要創建一個自定義LoginView,但現在讓我們繼續前進的模板
<button id="toggleForms">Toggle Forms</button>
<form method='post' action='{% url 'yourviewurl %}' id='signup'>
{% csrf_token %}
{{ form.as_p }}
<input type='submit' value='Sign Up'>
</form>
<form method='post' action='{% url 'loginurl' %}' id='login' hidden="hidden">
{% csrf_token %}
{{ login_form.as_p }}
<input type='submit' value='Log In'>
</form>
添加一些JavaScript來切換這些。 這些動作指向不同方向的表單。通常我們會爲此使用formset,但由於All-auth的註冊表單不是Form對象,因此這可能是最快捷的方法。
這些都走在你選擇的任何應用程序的views.py,標籤去django1.8
THX的幫助settings.py中,TEMPLATE_DIRS或顯示目錄列表中定義的模板內,但也許你可以還解釋代碼應該放在哪些文件中?我在這裏找到了類似的方法http://notesbyanerd.com/joint-login-and-signup-django-allauth-view。看起來你的解決方案是一樣的。但由於某種原因,def get_context_data永遠不會被我調用。似乎我可能會混淆一些東西。如果你能再詳述一下你的解決方案,那將會很好。 Thx爲您的時間! – janbrot
視圖在您想要的任何應用程序的views.py中進行,該模板在settings.py中的django 1.8的TEMPLATES_DIRS元組或Dirs列表中定義。 – Mikeec3
Thx現在有很多工作。 – janbrot