而不是在頁面登錄'../account/login/'我想使用戶可以直接登錄主頁例如。我該怎麼做才能做到這一點?如何將主頁上的輸入字段與allauth連接起來?我不知道這是否太複雜,不能以這種方式進行工作?登錄/直接在主頁上註冊
5
A
回答
2
有一種解決方案適用於我。這不是最佳解決方案,因爲它不是乾的,所以我會很感激有人改進它!
基本上我所做的是呈現官方allauth登錄模板並複製表單的HTML代碼。然後我更改了csrf標記和url並將其粘貼到主頁模板。
以下是登錄/註銷的示例代碼。您可以通過註冊完成相同的操作。 (請注意,我僅使用電子郵件而不是用戶名登錄,根據您的allauth設置,您的代碼可能會有所不同。請查看您的登錄和註冊模板,查看您需要輸入的字段及其名稱。)
{% load account %}
<h1>Login/Logout</h1>
{% if user.is_authenticated %}
<p>Loged in with e-mail: {{ request.user.email }}</p>
<a href="{% url "account_logout" %}">Logout</a>
{% else %}
<form action="{% url "account_login" %}" method="post">
{% csrf_token %}
<input type="email" placeholder="E-mail" name="login">
<input type="password" placeholder="Password" name="password">
<label for="id_remember_menu" class="text-primary">Remember Me:</label>
<input id="id_remember_menu" name="remember" type="checkbox">
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<button type="submit">Login</button>
<a href="{% url 'account_reset_password' %}">Forgot Password?</a>
</form>
{% endif %}
我想改善的代碼,並能夠直接呈現的形式,主頁模板,{{ form }}
而不是複製的HTML。如果我設法做到這一點,我會稍後更新回覆。
0
如果您確實需要,可以將allauth URL放在不同的路徑下。 allauth使用基於名稱的URL反轉,所以新的路徑前綴將被自動選取。
+0
不幸的是,這並沒有幫助,因爲我需要在同一頁面(例如主頁)上具有「登錄」表單和「註冊」表單。我需要這樣的東西:http://healthifyme.com/大多數使用allauth的網站都有默認的URL路徑(帳戶/),但我真的必須定製它。 –
相關問題
- 1. 登錄並註冊主頁
- 2. django註冊登錄並在一個頁面上註冊
- 3. Wordpress登錄註冊頁面
- 4. 如何鏈接註冊並登錄主頁?
- 5. 主頁上的django allauth登錄和註冊表
- 6. django註冊,註冊和登錄表格在索引頁上,我做對了嗎?
- 7. 登錄用戶請參閱登錄和註冊頁面(django註冊)
- 8. 註冊和登錄
- 9. PHP登錄/註冊
- 10. Codepen註冊/登錄
- 11. 鈦登錄/註冊
- 12. Android註冊/登錄
- 13. Android登錄註冊
- 14. 如何連接登錄頁面和註冊頁面?
- 15. 註冊並直接登錄軌道3設計?
- 16. 連接重置在laravel 5登錄或註冊頁面
- 17. Joomla,註冊頁面需要登錄
- 18. 編輯woocommerce登錄註冊頁面
- 19. 登錄/註冊結帳頁面?
- 20. 返回註冊頁面登錄後
- 21. 我的登錄和註冊頁面
- 22. Woo-commerce獨立登錄&註冊頁面
- 23. 登錄和註冊頁面問題php
- 24. 聯合登錄和註冊頁面?
- 25. 只能通過登錄/註冊才能訪問主頁
- 26. 在主頁上設計註冊表單?
- 27. 在主頁上設計註冊表單
- 28. 用Javascript註冊用戶註冊登錄
- 29. Django註冊 - 成功登錄後從登錄/註冊重定向
- 30. FOSUserBundle - 在一個頁面上登錄並註冊表格
它適合你嗎?如果是這樣,請不要忘記更新並接受答案!謝謝 – ferrangb
這是正確的做法,謝謝! –
@ferrangb您是否找到了直接使用{{form}}而不是複製HTML代碼的方法? – Joey