Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django HttpResponseRedirect pass variable to template and read it

I would like to use something similar to render_to_response function in Django but with HttpResponseRedirect.

Here's my views.py for render_to_response:

def somefunction(request):
    return render_to_response('myTemplate.html',{'error': "error"})

mytemplate.html

{% if error %}
    do something
{% endif %}
like image 291
user3130324 Avatar asked Mar 22 '26 03:03

user3130324


1 Answers

You could pass GET variables:

/mytemplate?variable1="variable_1"

You can also use the messages framework

from django.contrib import messages

def view(request):
  # your code
  messages.error(request, "ERROR")
  HttpResponseRedirect("/mytemplate")

or maybe you can add a session

def view(request):
    request.session['error'] = "ERROR"
    return HttpResponseRedirect("/mytemplate")


def my_template(request):
        if request.session.has_key('error'):
           error = request.session.get('error')
           del request.session['error']
        return render(request, "myTemplate.html", locals())
like image 159
Victor Castillo Torres Avatar answered Mar 24 '26 16:03

Victor Castillo Torres



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!