在Django中,我如何发送请求http://localhost:8000/ 到动态位置

在Django中,我如何发送请求http://localhost:8000/ 到动态位置,django,Django,我是django的新手。我的问题很简单,但我无法从网上找到的教程或在django上购买的书中真正了解我需要什么 我正在写一个网站,以容纳一个在线漫画。假设url是: http://localhost:8000/ 我想要一个基本url的请求,以转到最近的漫画。如果有13本漫画,那么我希望用户请求将上述url发送至: http://localhost:8000/13 同时,我需要一个输入http://localhost:8000/13转到指定的url。我该怎么做呢?为此,您需要两个url模式,它

我是django的新手。我的问题很简单,但我无法从网上找到的教程或在django上购买的书中真正了解我需要什么

我正在写一个网站,以容纳一个在线漫画。假设url是:

http://localhost:8000/
我想要一个基本url的请求,以转到最近的漫画。如果有13本漫画,那么我希望用户请求将上述url发送至:

http://localhost:8000/13

同时,我需要一个输入
http://localhost:8000/13
转到指定的url。我该怎么做呢?

为此,您需要两个url模式,它们将映射到两个视图。第一个url用于主页(
http://localhost:8000/
),第二个url是查看特定漫画(
http://localhost:8000/
)。但是,第一个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)
    # ...
#假设漫画模型与
漫画类(模型.模型):
created=models.DateTimeField(auto\u now\u add=True)
#其他领域。。。
#URL模式
url(r'^$'、'index',name='index'),
url(r'^(?P\d+/$),'comic',name='comic'),
#观点
def索引(请求):
latest_comic=comic.objects.order_by('-created')[0]
#或者根据阿拉斯代尔的评论
#latest_comic=comic.objects.latest('已创建')
返回HttpResponseRedirect(反向('comic',kwargs={'comic\u id':latest\u comic.pk}))
def漫画(请求,漫画id):
漫画=获取对象或404(漫画,pk=漫画id)
# ...

+1我几乎输入完同样的答案,但你也打败了我!该方法可以方便地抓取最新的漫画,即
漫画.objects.latest('created')
。很抱歉。谢谢你的建议。我不知道。