如何在Django中模仿url定义的数量?

时间:2016-12-29 17:47:05

标签: python django django-urls

在Django中,您可以为网站中的链接/终点创建一个URL。我的问题是,如果你创建的东西有很多链接,说一个博客应用你可以在你的urls.py中确实有成百上千的网址定义。假设链接没有参数,即url没有捕获输入,那么这样的Django应用程序将需要设备一种方法来利用数据库来最小化url定义。有人能想出更有效的解决方案吗?

1 个答案:

答案 0 :(得分:2)

Django中的URL可以包含可替换的参数,以生成大量的URL。

让我们说你的Blog模型就像是

class Blog(models.Model):
    title=models.CharField(max_length=200)
    content=models.TextField()

然后,您可以通过将网址定义为

来为每个博客创建网址
url("^blog/([0-9]+)/$, views.blog_details)

([0-9]+部分告诉Django查找一个数字作为参数,例如/blogs/1234/这样的网址

相应的视图功能会将博客ID作为参数

def blog_details(blog_id):
    blog=get_object_or_404(Blog, pk=blog_id)
    # generate view of this blog from template

您可以使用网址参数,https://docs.djangoproject.com/en/1.10/topics/http/urls/

上的更多信息