Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- view.py
- from django.shortcuts import render
- from .models import Pizza
- def index(request):
- return render(request, 'pizzaz/index.html')
- def pizza(request):
- pizza = Pizza.objects.order_by('name')
- context = {'pizza': pizza}
- return render(request, 'pizzaz/pizza.html', context)
- def topping(request, topping_id):
- topping = Pizza.objects.get(id=topping_id)
- entries = topping.topping_set.order_by('topping')
- context = {'topping': topping, 'entries': entries}
- return render(request, 'pizzaz/topping.html', context)
- urls.py
- from django.conf.urls import url
- from . import views
- urlpatterns = [
- url(r'^$', views.index, name='index'),
- url(r'^pizza/$', views.pizza, name='pizza'),
- url(r'^pizza/(?P<topping_id>\d+)/$', views.topping, name='topping')
- ]
- ------------------------------------------------------------------------------
- models.py
- from django.db import models
- class Pizza(models.Model):
- name = models.CharField(max_length=50)
- def __str__(self):
- return self.name
- class Topping(models.Model):
- pizza = models.ForeignKey(Pizza, on_delete=models.CASCADE)
- name = models.TextField()
- class Meta:
- verbose_name_plural = 'topping'
- def __str__(self):
- return self.name
- ----------------------------------------------------------------------------------
- topping.html
- {% extends "pizzaz/base.html" %}
- {% block content %}
- <p>Pizza: {{ pizza }}</p>
- <p>ingredients:</p>
- <ul>
- {% for entry in entries %}
- <li>
- <p>{{ entry.name|linebreaks }}<p>
- </li>
- {% empty %}
- <li>
- There are no ingredients for this pizza
- </li>
- {% endfor %}
- </ul>
- {% endblock content %}
- ----------------------------------------------------------------------------------
- pizza.html
- {% extends "pizzaz/base.html" %}
- {% block content %}
- <p>Pizza Names</p>
- <ul>
- {% for p in pizza %}
- <li>
- <a href="{% url 'pizzaz:topping' topping.id %}">{{ p }}</a>
- </li>
- {% empty %}
- <li>No pizzaz have been added</li>
- {% endfor %}
- </ul>
- {% endblock content %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement