そのためには、2つのビューにマップされる2つのURLパターンが必要になります。最初のURLはホームページ(http://localhost:8000/
)用で、2番目のURLは特定の漫画(http://localhost:8000/<comic_id>
)を表示するためのものです。ただし、最初のURLは、を使用してユーザーを最新のコミックにリダイレクトする必要がありますHttpResponseRedirect
。
# assuming comic model similar to
class Comic(models.Model):
created = models.DateTimeField(auto_now_add=True)
# other fields...
# urlpatterns
url(r'^$', 'index', name='index'),
url(r'^(?P<comic_id>\d+)/$', 'comic', name='comic'),
# views
def index(request):
latest_comic = Comic.objects.order_by('-created')[0]
# or as suggested by Alasdair's comment
# latest_comic = Comic.objects.latest('created')
return HttpResponseRedirect(reverse('comic', kwargs={'comic_id':latest_comic.pk}))
def comic(request, comic_id):
comic = get_object_or_404(Comic, pk=comic_id)
# ...