nomeusuario = request.POST['usuario'] #usernamenomesenha = request.POST['senha'] #passwordnomeemail = request.POST['email'] #email
if not nomeusuario: return render(request,'cadastro.html',{'cadastrorealizadocomsucesso': False, 'error_message': "informe um usuário", 'nomeemailcadastro':nomeemail, 'nomesenhacadastro':nomesenha}) elif not nomesenha: return render(request,'cadastro.html',{'cadastrorealizadocomsucesso': False, 'error_message': "informe uma senha", 'nomeemailcadastro':nomeemail, 'nomeusuariocadastro':nomeusuario}) elif not nomeemail: return render(request,'cadastro.html',{'cadastrorealizadocomsucesso': False, 'error_message': "informe um email", 'nomesenhacadastro':nomesenha, 'nomeusuariocadastro':nomeusuario})
<meta charset="utf-8"/><h1>Cadastro</h1><form action="{% url 'cadastrarprofessor' %}" method="post">{% csrf_token %} <label for="usuario">Usuário: </label> {% if nomeusuariocadastro %} <input id="usuario" type="text" name="usuario" value={{ nomeusuariocadastro }}> {% else %} <input id="usuario" type="text" name="usuario" value=""/> {% endif %}
... (DO THE SAME TO SENHA/PASSWORD AND EMAIL)
<input type="submit" value="Cadastrar"/></form><form action="{% url 'index' %}" method="post"><input type="submit" value="Voltar"/>{% csrf_token %}</form>{% if cadastrorealizadocomsucesso is True %}<b>cadastro realizado com sucesso!</b>{% endif %}{% if error_message %}<p><strong>{{ error_message }}</p></strong>{% endif %}
return render(request,'cadastro.html',{'cadastrorealizadocomsucesso': False, 'error_message': "informe um usuário", 'nomeemailcadastro':nomeemail,'nomesenhacadastro':nomesenha})
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com<mailto:django-users+unsubscribe@googlegroups.com>.
Try using the @never_cache decorator on your login view.
To unsubscribe from this group and stop receiving emails from it, send an email to
django-users...@googlegroups.com<mailto:django-users...@googlegroups.com>.
To post to this group, send email to django...@googlegroups.com<mailto:django...@googlegroups.com>.
Visit this group at
https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/3f70cd29-9edc-4272-a27e-534ee7f1e1a2%40googlegroups.com<https://groups.google.com/d/msgid/django-users/3f70cd29-9edc-4272-a27e-534ee7f1e1a2%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit
https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
django-users...@googlegroups.com.
To post to this group, send email to
django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/f73d478e-44ee-40dd-ba61-851f0e0ec5af%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com<mailto:django-users+unsub...@googlegroups.com>.
To post to this group, send email to django...@googlegroups.com<mailto:django...@googlegroups.com>.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/3f70cd29-9edc-4272-a27e-534ee7f1e1a2%40googlegroups.com<https://groups.google.com/d/msgid/django-users/3f70cd29-9edc-4272-a27e-534ee7f1e1a2%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to djang...@googlegroups.com.
> to do this, i just have to put the @never_cache on my View's method, right?
Yes.
Upon further investigation of your code, I suggest looking into Django forms and utilizing them. Also, you shouldn’t need to use two forms on your log-in view. The submit button should go inside the log-in form.
To get back to fixing your current code, do you have an else condition that always returns a render? And, yes, you need to return an HttpResponse object in all of your view functions, which is returned by the render function. It looks like you are always populating ‘error_message,’ which is why there is always an error_message rendered.
To unsubscribe from this group and stop receiving emails from it, send an email to
django-users...@googlegroups.com<mailto:django-users...@googlegroups.com>.
To post to this group, send email to
django...@googlegroups.com<mailto:django...@googlegroups.com>.
Visit this group at
https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/3f70cd29-9edc-4272-a27e-534ee7f1e1a2%40googlegroups.com<https://groups.google.com/d/msgid/django-users/3f70cd29-9edc-4272-a27e-534ee7f1e1a2%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit
https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
django-users...@googlegroups.com.
To post to this group, send email to djang...@googlegroups.com.
Visit this group at
https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/f73d478e-44ee-40dd-ba61-851f0e0ec5af%40googlegroups.com.
For more options, visit
https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/ad9b6c53-88be-4825-98de-e9d1088fb4fe%40googlegroups.com.
def cadastrarprofessor(request): if 'terminarcadastroprofessor' in request.POST: # if this is a POST request we need to process the form data if request.method == 'POST': nomeusuario = request.POST['usuario'] nomesenha = request.POST['senha'] nomeemail = request.POST['email'] print("nomeusuario:") print(nomeusuario)
if not nomeusuario: return render(request,'cadastro.html',{'cadastrorealizadocomsucesso': False, 'error_message': "informe um usuário", 'nomeemailcadastro':nomeemail, 'nomesenhacadastro':nomesenha}) elif not nomesenha: return render(request,'cadastro.html',{'cadastrorealizadocomsucesso': False, 'error_message': "informe uma senha", 'nomeemailcadastro':nomeemail, 'nomeusuariocadastro':nomeusuario}) elif not nomeemail: return render(request,'cadastro.html',{'cadastrorealizadocomsucesso': False, 'error_message': "informe um email", 'nomesenhacadastro':nomesenha, 'nomeusuariocadastro':nomeusuario})
elif User.objects.filter(username=nomeusuario).exists(): return render(request,'cadastro.html',{'cadastrorealizadocomsucesso': False, 'error_message': "nome de usuário já existe", 'nomesenhacadastro':nomesenha, 'nomeusuariocadastro':nomeusuario, 'nomeemailcadastro':nomeemail}) else: usuarionovo = User.objects.create_user(nomeusuario, nomeemail, nomesenha) novoprofessor = Professor(user=usuarionovo,nome=nomeusuario) novoprofessor.save() return render(request,'cadastro.html',{'cadastrorealizadocomsucesso': True}) else: return render(request,'index.html') else: #vou para tela do inicio do cadastro. Era um link entao nao tem POST return render(request, 'cadastro.html',{'cadastrorealizadocomsucesso':False})
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com<mailto:django-users+unsub...@googlegroups.com>.
To post to this group, send email to django...@googlegroups.com<mailto:django...@googlegroups.com>.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/3f70cd29-9edc-4272-a27e-534ee7f1e1a2%40googlegroups.com<https://groups.google.com/d/msgid/django-users/3f70cd29-9edc-4272-a27e-534ee7f1e1a2%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to djang...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/f73d478e-44ee-40dd-ba61-851f0e0ec5af%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to djang...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
I had a similar issue and even tried using sessions, but I eventually found that never_cache worked beautifully for me. I didn’t have to worry about sessions any more.
From: django...@googlegroups.com [mailto:django...@googlegroups.com]
On Behalf Of fábio andrews rocha marques
Sent: Tuesday, October 31, 2017 12:19 PM
To: Django users
Subject: Re: do i always have to reload/return render a page to show the errors? if i press go back on browser, i see screens with the error message
I found this topic within stackoverflow: https://stackoverflow.com/questions/10906548/django-redirect-behavior-with-back-button
that seems to me that the user was having the same problem as i am. The only answer i found could work was from magicTuscan, but he just said "I would save the last site path as a session, then retrieve via the view when the page is called again via the back button". I've tried to contact him but didn't get an answer. Is it possible to override the "browser back button" behavior on django using sessions?
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/3ad05d02-cecd-4560-9654-82d2ed1106ca%40googlegroups.com.
I had a similar issue and even tried using sessions, but I eventually found that never_cache worked beautifully for me. I didn’t have to worry about sessions any more.
From: django...@googlegroups.com [mailto:django...@googlegroups.com] On Behalf Of fábio andrews rocha marques
Sent: Tuesday, October 31, 2017 12:19 PM
To: Django users
Subject: Re: do i always have to reload/return render a page to show the errors? if i press go back on browser, i see screens with the error message
I found this topic within stackoverflow: https://stackoverflow.com/questions/10906548/django-redirect-behavior-with-back-button
that seems to me that the user was having the same problem as i am. The only answer i found could work was from magicTuscan, but he just said "I would save the last site path as a session, then retrieve via the view when the page is called again via the back button". I've tried to contact him but didn't get an answer. Is it possible to override the "browser back button" behavior on django using sessions?
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to djang...@googlegroups.com.
How did you use the never_cache? Because if i just put @never_cache before the def of my view: def cadastrarprofessor(request):, it's like it doesn't do anything (i am on the login page, I go to the registration page, inform a name of a user that already exists, click "register", the system refreshes the page telling me that the user already exists and when i press the "back button" from the browser, it goes back to the registration page with empty fields, which is not what iwant. I want to go back to the login page, the page before the registration). Do I have to use @never_cache and remove all the return render from my function? What should i return instead?
Hmmm, yes, I have a slightly different situation then.
You might want to employ something with the query string. Django, by default, uses “next” as a parameter on the Login screen. When the user successfully logs in, they are redirected to the URL specified in the “next” GET parameter. It doesn’t address the issue of pressing the Back button, but the user may be discouraged from pressing the back button if they actually end up on the page that they were expecting to be at in the first place.
From: django...@googlegroups.com [mailto:django...@googlegroups.com]
On Behalf Of fábio andrews rocha marques
Sent: Tuesday, October 31, 2017 1:02 PM
To: Django users
Subject: Re: do i always have to reload/return render a page to show the errors? if i press go back on browser, i see screens with the error message
How did you use the never_cache? Because if i just put @never_cache before the def of my view: def cadastrarprofessor(request):, it's like it doesn't do anything (i am on the login page, I go to the registration page, inform a name of a
user that already exists, click "register", the system refreshes the page telling me that the user already exists and when i press the "back button" from the browser, it goes back to the registration page with empty fields, which is not what iwant. I want
to go back to the login page, the page before the registration). Do I have to use @never_cache and remove all the return render from my function? What should i return instead?
On Tuesday, October 31, 2017 at 2:46:01 PM UTC-3, Matthew Pava wrote:
I had a similar issue and even tried using sessions, but I eventually found that never_cache worked beautifully for me. I didn’t have to worry about sessions any more.
From:
django...@googlegroups.com [mailto:django...@googlegroups.com]
On Behalf Of fábio andrews rocha marques
Sent: Tuesday, October 31, 2017 12:19 PM
To: Django users
Subject: Re: do i always have to reload/return render a page to show the errors? if i press go back on browser, i see screens with the error message
I found this topic within stackoverflow: https://stackoverflow.com/questions/10906548/django-redirect-behavior-with-back-button
that seems to me that the user was having the same problem as i am. The only answer i found could work was from magicTuscan, but he just said "I would save the last site path as a session, then retrieve via the view when the page is called again via the back button". I've tried to contact him but didn't get an answer. Is it possible to override the "browser back button" behavior on django using sessions?
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
django-users...@googlegroups.com.
To post to this group, send email to djang...@googlegroups.com.
Visit this group at
https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/3ad05d02-cecd-4560-9654-82d2ed1106ca%40googlegroups.com.
For more options, visit
https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/fa86e291-ad2e-4b5a-b78a-1e98327189ce%40googlegroups.com.
To use django forms is to use the django Form class and it's components on a view? How will this solve the issue? If i use the components, don't i have to re-render the page when a user makes an error on the form?