我正在使用django-allauth,在网站注册后,用户被发送到个人资料页面,但我希望用户在注册后前往登录页面,并显示消息“您的帐户已创建”。
是否有任何方法可以实现这一点?
我正在使用django-allauth,在网站注册后,用户被发送到个人资料页面,但我希望用户在注册后前往登录页面,并显示消息“您的帐户已创建”。
是否有任何方法可以实现这一点?
django-allauth
中的get_login_redirect_url()
方法。然后使用Django消息框架发送消息。
settings.py:
ACCOUNT_ADAPTER = 'yourapp.adapter.AccountAdapter' # ---> change it to your path
yourapp/adapter.py:
from allauth.account.adapter import DefaultAccountAdapter
from django.contrib import messages
class AccountAdapter(DefaultAccountAdapter):
def get_login_redirect_url(self, request):
messages.success(request, 'Your account created.')
return 'url/to/your/page' # --> change it to your page url
from django.contrib.auth import logout
logout(request) # --> put it before return above
in views.py
def register(request):
users=User.objects.all()
if request.method == 'POST':
form = RegisterForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
messages.success(request, f'Account has been created successfully!, User can now login')
return redirect('login') #login is the name of login view in urls.py
else:
form = RegisterForm()
return render(request, 'users/home/register.html', {'form': form,'users':users})
/home
或类似的页面。 - Astik Anand