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