За да позволя на allauth на Django да работи на моята начална страница, копирах allauth HTML за формулярите за влизане и регистрация в моя собствен base.html (формулярът за влизане може да се види тук).
Така че това успешно изобразява формуляра и неговите полета на началната ми страница. Въпреки това, когато щракна върху изпращане във формуляра за вход, той просто ме пренасочва към /accounts/login URL на allauth, който изобразява същия формуляр. Едва след това изпращането на формуляра работи. Същото е и с формуляра за регистрация, когато изпратя формуляра за регистрация на началната си страница, той ме пренасочва към /accounts/signup и след това регистрацията работи след повторно изпращане. Как мога да накарам влизането/регистрацията да работи първоначално от моята начална страница?
Моите URL адреси и изгледи:
urls.py
urlpatterns = [
url(r'^$', views.boxes_view, name='news'),
url(r'^accounts/', include('allauth.urls')),
]
views.py
def boxes_view(request):
search = request.GET.get('search')
posts = Post.objects.all().filter(category=1).order_by('-date')
if search:
posts = posts.filter(Q(title__icontains=search)|Q(content__icontains=search))
else:
posts = Post.objects.all().filter(category=1).order_by('-date')
context = {'posts': posts,}
return render(request, 'polls.html', context)
base.html
...
{% load i18n %}
<form class="login" method="POST" action="{% url 'account_login' %}">
<div class="loginWrapper">
<div class="loginNested">
<div class="loginBox">
{% csrf_token %}
{{ form.as_p }}
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<a class="button secondaryAction" href="/bg{% url 'account_reset_password' %}">{% trans "Forgot Password?" %}</a>
<button class="primaryAction" type="submit">{% trans "Sign In" %}</button>
</div>
</div>
</div>
</form>
...