我想知道如何在网站中实现URL slug功能,而不会在URL中显示当前正在查看的记录的ID。
例如,StackOverflow网址如下所示:MVC Dynamic Views From Url Slug。请注意,URL包含记录的ID。如果我要将此页面加入书签,并且由于某种原因记录的ID已更改,我将来无法查看此记录。
我想实现一个不依赖于记录ID的URL slug功能,因此它看起来像https://stackoverflow.com/questions/mvc-dynamic-views-from-url-slug。
您能否提供实现此目标的步骤? 你是否使用了唱片的标题并将其缓和,保存那个slu ,,并且再也不会改变它?
我正在寻找的示例网址是http://weblogs.asp.net/scottgu/archive/2010/10/04/jquery-templates-data-link-and-globalization-accepted-as-official-jquery-plugins.aspx(注意网址中没有ID)
谢谢!
答案 0 :(得分:5)
这基本上就是你做的。每种方法都有其优点:
您需要一个数据库索引才能使slug查找更有效。幸运的是,Django的Slug field会自动创建一个数据库索引。
您可能仍希望拥有一个数字主键,只需简化数据库的其余部分即可。
答案 1 :(得分:1)
您在寻找URL Rewriting吗?
答案 2 :(得分:1)
在一天结束时,您需要一些识别每种资源的独特方法。大多数情况下,这是一个整数,因为它比数据库友好,比GUID更人性化。如果你想使用一个任意的字符串,它与整数ID的技术相同,但是你必须小心不要让两个或多个记录共享同一个slug。