Python 我应该在url中使用pk还是唯一的slug?
我想为我在django中编写的购物车应用程序编写URLconf。我想知道构建URL的首选方式是什么 用户可以通过超链接访问URL(不应在地址栏中键入)。它将指定的项目添加到他们的购物车中。我应该吗 使用项目的pk:Python 我应该在url中使用pk还是唯一的slug?,python,django,url-routing,django-urls,Python,Django,Url Routing,Django Urls,我想为我在django中编写的购物车应用程序编写URLconf。我想知道构建URL的首选方式是什么 用户可以通过超链接访问URL(不应在地址栏中键入)。它将指定的项目添加到他们的购物车中。我应该吗 使用项目的pk: http://example.com/add/253 或者使用一个独特的slug: http://example.com/add/unique_item_slug 这些方法是否有安全性或性能优势。有什么理由选择它吗?相对于现代网络开发,你可以在URL中使用你的pk,这不会是一个问
http://example.com/add/253
或者使用一个独特的slug:
http://example.com/add/unique_item_slug
这些方法是否有安全性或性能优势。有什么理由选择它吗?相对于现代网络开发,你可以在URL中使用你的pk,这不会是一个问题 依靠一个相当安静的设计,我建议您:
http://example.com/product/253/add
其中
http://example.com/product/253
是您的产品详细视图。在现代web开发中,您可以在URL中使用您的pk,这不会是一个问题
依靠一个相当安静的设计,我建议您:
http://example.com/product/253/add
其中
http://example.com/product/253
是您的产品详细视图。使用Slug的主要原因是SEO(搜索、引擎优化)。理由是
搜索“我最棒的小部件”将返回位于哪个位置的结果-
http://example.com/products/my_awesome_widget
高于
http://example.com/products/423
谷歌喜欢对人类有意义的URL。理想情况下,您希望URL尽可能多地描述页面。请参阅中的“改进URL结构”一节
因为你将在网上销售东西,所以让网络冲浪者在搜索引擎上轻松找到你的产品是很重要的。因此,明确建议使用段塞
仅依赖slug的一个缺点是,您需要将产品名称强制转换为唯一的slug。您当前可能对产品名称没有唯一的约束,因此您可能需要做一些创建slug的工作(通过检查您将要创建的slug是否已经存在)。常见的解决方案是包括slug和产品id
http://example.com/products/my-awesome-widget/243
这样一来,你的slug就不必是唯一的,但你的url仍然包含产品名称。使用slug的主要原因是SEO(搜索、引擎优化)。理由是 搜索“我最棒的小部件”将返回位于哪个位置的结果-
http://example.com/products/my_awesome_widget
高于
http://example.com/products/423
谷歌喜欢对人类有意义的URL。理想情况下,您希望URL尽可能多地描述页面。请参阅中的“改进URL结构”一节
因为你将在网上销售东西,所以让网络冲浪者在搜索引擎上轻松找到你的产品是很重要的。因此,明确建议使用段塞
仅依赖slug的一个缺点是,您需要将产品名称强制转换为唯一的slug。您当前可能对产品名称没有唯一的约束,因此您可能需要做一些创建slug的工作(通过检查您将要创建的slug是否已经存在)。常见的解决方案是包括slug和产品id
http://example.com/products/my-awesome-widget/243
这样一来,你的slug就不必是唯一的,但你的url仍然包含产品名称。正如Ewen所说,直接将标题放在url中的关键是SEO。在URL中包含关键字对搜索引擎结果有显著影响 在URL中使用主键实际上没有任何重大的安全风险,只是人们能够猜测/预测其他密钥。但你不应该依赖 没人会猜到的
无论如何,作为一种安全措施。正如Ewen所说,将标题直接放在URL中的关键是SEO。在URL中包含关键字对搜索引擎结果有显著影响 在URL中使用主键实际上没有任何重大的安全风险,只是人们能够猜测/预测其他密钥。但你不应该依赖 没人会猜到的 作为一种安全措施