Reputation: 39
I'm trying to make a view in Django, in where if the edit button is pressed on that page it is passed on to another view as a session.
def page(request,user_input):
entry = util.get_entry(user_input)
name = user_input.capitalize()
request.session['name'] = name
request.session['entry'] = entry
if request.GET.get("edit"): # **<- This is not working for some reason.**
request.session['edit'] = True
else:
request.session['edit'] = False
return render(request, "homepage/page.html", {
"entry":entry,
"title":name,
})
Here is my page.html file
{% block body %}
{% if entry %}
<h1>{{title}}</h1>
{{ entry }}
{% endif %}
<form action="{% url 'create' %}" name='edit'>
<input type="submit" value='edit' class="button">
</form>
{% endblock %}
This is the view where I want to use the session
def create(request):
change =request.session['edit']
if request.GET.get('submit'):
title = str(title).lower()
if change:
util.save_entry(title,content)
return HttpResponseRedirect('/index')
Upvotes: 1
Views: 56
Reputation: 476740
You can specify a key-value pair by making use of the <button>
tag, so then the form should look like:
<form action="{% url 'create' %}">
<button name="submit" value="edit" type="submit" class="button">edit</button>
</form>
Upvotes: 1