Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我应该在url中使用pk还是唯一的slug?_Python_Django_Url Routing_Django Urls - Fatal编程技术网

Python 我应该在url中使用pk还是唯一的slug?

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,这不会是一个问

我想为我在django中编写的购物车应用程序编写URLconf。我想知道构建URL的首选方式是什么

用户可以通过超链接访问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中使用主键实际上没有任何重大的安全风险,只是人们能够猜测/预测其他密钥。但你不应该依赖

没人会猜到的

作为一种安全措施