[英]exercise 18-8 python crash course - Can't loop
我正在嘗試遍歷澆頭,但代碼不起作用。
楷模:
from django.db import models
class Pizza(models.Model):
name = models.CharField(max_length=200)
def __str__(self):
return self.name
class Toppings(models.Model):
pizza = models.ForeignKey(Pizza, on_delete=models.CASCADE)
name = models.CharField(max_length=200)
class Meta:
verbose_name_plural = 'toppings'
def __str__(self):
return self.name
網址.py:
from django.urls import path
from . import views
app_name = 'pizzas'
urlpatterns = [
path('', views.index, name='index'),
path('pizzas/', views.pizzas, name='pizzas'),
path('pizzas/<int:toppings_id>/', views.toppings, name='toppings')
]
意見:
from django.shortcuts import render
from .models import Pizza
from .models import Toppings
def index(request):
return render(request, 'pizzas/index.html')
def pizzas(request):
pizzas = Pizza.objects.all()
context = {'pizzas': pizzas}
return render(request, 'pizzas/pizzas.html', context)
def toppings(request, toppings_id):
toppings = Toppings.objects.get(id=toppings_id)
context = {'toppings': toppings}
return render(request, 'pizzas/toppings.html', context)
澆頭.html:
{% extends 'pizzas/base.html' %}
{% block content %}
<p>Pizzas: {{ pizza }}</p>
<p>Toppings:</p>
<ul>
{% for topping in toppings %}
<li>
<p>{{ topping }}</p>
</li>
{% empty %}
<li>There are no toppings</li>
{% endfor %}
</ul>
{% endblock content %}
比薩餅.html:
{% extends 'pizzas/base.html' %}
{% block content %}
<p>Pizzas</p>
<ul>
{% for pizza in pizzas %}
<li>
<a href="{% url 'pizzas:toppings' pizza.id %}">{{ pizza }}</a>
</li>
{% empty %}
<li>
No pizzas yet duh
</li>
{% endfor %}
</ul>
{% endblock content %}
問題出在 for 循環中的 toppings.html 中,並且可能 toppings 視圖也有問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.