Есть ли способ в django views сделать преобразование css?
Прошу прощения, я новичок в Django и пытаюсь разобраться с некоторыми вещами в данный момент. В настоящее время у меня есть страница с центральной карточкой, которая при нажатии на кнопку переворачивает карточку с помощью CSS. Сейчас я также перенаправляю страницу обратно на себя в views.py. Есть ли способ сделать так, чтобы представления перенаправлялись на заднюю часть карточки, а не на переднюю. Я знаю, что могу использовать java-script для достижения этой цели, но мне интересно, есть ли способ без него.
View.py:
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout
from django.contrib import messages
from django.views import View
from django.contrib.auth.forms import UserCreationForm
class login_register(View):
def get(self, request):
form = UserCreationForm()
if "sign-in" in request.GET:
username = request.GET.get("username")
password = request.GET.get("password")
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
return redirect('/admin')
else:
messages.info(request, 'Login attempt failed.')
return redirect('login_register')
return render(request, 'index.html', {'form': form})
def post(self, request):
if "sign-up" in request.POST:
form = UserCreationForm(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password1']
user = authenticate(username=username, password=password)
login(request, user)
messages.success(request, 'Account has been created succesfully')
return redirect('login_register')
else:
messages.error(request, form.errors)
return redirect('login_register')
return render(request, 'index.html')
HTML & CSS:
Вы можете изменить redirect()
на render()
(так же, как в get()
), а затем добавить значение по умолчанию для флажка. Если вы хотите сохранить перенаправление, можно добавить значение в сессии и снова добавить в контексте get.
Например:
class login_register(View):
def get(self, request):
...
return render(
request,
'index.html',
{
'form': form,
'using_backcard': request.session.pop('using_backcard', False),
}
)
def post(self, request):
if "sign-up" in request.POST:
...
request.session['using_backcard'] = True
return redirect('login_register')
return render(request, 'index.html')
Затем, в вашем шаблоне
<input class="checkbox" type="checkbox" id="reg-log" name="reg-log" {% if using_backcard %} checked {% endif %}/>