У меня есть кнопка регистрации на моей домашней странице, и когда пользователь нажимает на нее, открывается модальная форма регистрации. Проблема в том, что мне нужен URL-адрес и представление для формы регистрации, и когда я нажимаю кнопку, сервер перенаправляется на URL-адрес регистрации и уходит с моей домашней страницы. Как я могу предотвратить это?
- Views.py
def register(request):
if request.method == 'POST':
user_form = UserRegistrationForm(request.POST)
if user_form.is_valid():
#Create a new user object but avoid saving it yet
new_user = user_form.save(commit=False)
#Set the chosen password
new_user.set_password(user_form.cleaned_data['password'])
#Save the user object
new_user.save()
return redirect('home')
else:
user_form = UserRegistrationForm()
return render(request,'account/signup.html',{'user_form':user_form})
- urls.py
urlpatterns = [
path('login/', auth_views.LoginView.as_view(authentication_form=LoginForm), name='login'),
path('logout/', auth_views.LogoutView.as_view(), name='logout'),
path('signup/', user_views.register, name='signup'),
]
- регистрация . js
var signup_form = document.querySelector(".signup-form");
var trigger = document.querySelector(".signup-btn");
var closeBtn = document.querySelector(".close-btn");
function toggleModal(){
signup_form.classList.toggle("show-signup-form");
}
function windowOnClick(event) {
if (event.target == signup_form){
toggleModal();
}
}
trigger.addEventListener("click", toggleModal);
closeBtn.addEventListener("click", toggleModal);
window.addEventListener("click", windowOnClick);