シンプルなペットアプリがあります。
アプリはすべてのペットショップを表示し、ペットショップをクリックすると表示されます。あなたはすべてのペットの名前を見ることができます.
問題は、最初のペットと他のペットを作成した後です。テンプレートは新しいペットを更新しません。そのため、最初のペットのみが表示されます。
したがって、最初のペットを削除すると。にもかかわらず、ページが見つかりません (404) と表示されます。新しいペットをストアに追加しました。
テンプレート内で for ループを使用しようとしましたが、反復できないというエラーが表示され、単一のデータのみをレンダリングする場合は for ループを使用しないように友人に言われました。
店舗でより多くのペットを展示するにはどうすればよいですか?
問題は私のanimal.htmlと私のviews.pyにあると思います
私の動物.html
{% if pet %}
<li>Pet = {{ pet.animal }}</li>
<li>description = {{pet.description}} </li>
<img src="{{ pet.image.url }}">
{% endif %}
私の店.html
Sydney's Pet Store
{% if store %}
<ul>
{% for a in store %}
<li><a href ="{% url world:brazil a.id %}">{{ a.name }}</li>
{% endfor %}
</ul>
{% endif %}
私のviews.py
from pet.models import Store , Pet
from django.shortcuts import render_to_response ,get_object_or_404
def index(request):
store = Store.objects.all()
return render_to_response ('store.html',{'store':store})
def brazil(request , animal_id):
pet = get_object_or_404(Pet, pk=animal_id)
return render_to_response ('animal.html',{'pet':pet})
私のモデル.py
from django.db import models
class Store(models.Model):
name = models.CharField(max_length = 20)
number = models.BigIntegerField()
address =models.CharField(max_length = 20)
def __unicode__(self):
return self.name
class Pet(models.Model):
animal = models.CharField(max_length =20)
description = models.TextField()
owner = models.ForeignKey(Store)
image = models.FileField(upload_to="images/")
def __unicode__(self):
return self.animal