Skip to content

Instantly share code, notes, and snippets.

@eclecticmiraclecat
Created November 6, 2020 15:39
Show Gist options
  • Save eclecticmiraclecat/cfb9a19177c42f76a424c7c39839a4d4 to your computer and use it in GitHub Desktop.
Save eclecticmiraclecat/cfb9a19177c42f76a424c7c39839a4d4 to your computer and use it in GitHub Desktop.
# forms.py
from django import forms

class ItemForm(forms.Form):
  name = forms.CharField()
  quantity = forms.IntegerField()
# urls.py
from cookiesApp.views import index, addItem, displayCart

urlpatterns = [
    path('index', index, name='index'),
    path('displayItem', displayCart, name='displayItem'),
    path('addItem', addItem, name='addItem'),
]
from .forms import ItemForm

def index(request):
  return render(request, 'cookiesApp/index.html')

def addItem(request):
  form = ItemForm()
  # create response object to set cookie
  response = render(request, 'cookiesApp/addItem.html', {'form': form})
  if request.method == 'POST':
    form = ItemForm(request.POST)
    if form.is_valid():
      name = form.cleaned_data['name']
      quantity = form.cleaned_data['quantity']
      response.set_cookie(name, quantity)
  return response

def displayCart(request):
  return render(request, 'cookiesApp/displayItems.html')
<!-- index.html -->
Shopping Cart

<a href="/addItem">Add Item</a>
<a href="/displayItem">Display Item</a>
<!-- addItem.html -->
<form method="post">
  {{ form.as_p }}
  {% csrf_token %}
  <input type="submit" value="Add">
</form>

<a href="/displayItem">Display Item</a>
<!-- displayItems.html -->
{% for key, value in request.COOKIES.items %}
{{ key }}
{{ value }}</br>
{% endfor %}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment