3

私はジャンゴが初めてです。私が持っている質問は簡単ですが、オンラインで見つけたチュートリアルや、django で購入した本から、何が必要かを実際に理解できませんでした。

オンラインコミックを掲載するウェブサイトを書いています。URLが次のとおりであるとしましょう:

http://localhost:8000/

最新のコミックに移動するベース URL のリクエストが必要です。コミックが 13 冊ある場合、上記の URL をリクエストしているユーザーが次のアドレスに送信されるようにします。

http://localhost:8000/13

同時に、入力したユーザーがhttp://localhost:8000/13指定された URL に移動するようにします。どうすればいいですか?

4

1 に答える 1

1

そのためには、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)
    # ...
于 2012-10-14T16:03:41.773 に答える