当前位置: 首页 > 面试题库 >

Python-在Django中,“slug”是什么?

乐正晟
2023-03-14
问题内容

当我阅读Django代码时,我经常在模型中看到所谓的“子弹”。我不太清楚这是什么,但是我知道它与URL有关。应该如何以及何时使用这种this子?


问题答案:

“slug”是一种通常使用已获得的数据生成有效URL的方法。例如,一个ug使用文章标题来生成URL。我建议通过给定标题(或另一段数据)的函数来生成段,而不要手动设置它。

一个例子:

<title> The 46 Year Old Virgin </title>
<content> A silly comedy movie </content>
<slug> the-46-year-old-virgin </slug>

现在,我们假设我们有一个Django模型,例如:

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField(max_length=1000)
    slug = models.SlugField(max_length=40)

你将如何使用URL和有意义的名称引用该对象?例如,你可以使用Article.id,因此URL如下所示:

www.example.com/article/23

或者,你可能希望像这样引用标题:

www.example.com/article/The 46 Year Old Virgin

由于网址中的空格无效,因此必须将其替换为%20,这将导致:

www.example.com/article/The%2046%20Year%20Old%20Virgin

两种尝试都不会产生非常有意义且易于阅读的URL。这个更好:

www.example.com/article/the-46-year-old-virgin

在此示例中,the-46-year-old-virgin是一个子弹:它是通过将所有字母缩进小写并用连字符替换空格来从标题创建的-。



 类似资料:
  • 问题内容: 当我阅读Django代码时,我经常在模型中看到所谓的“子弹”。我不太清楚这是什么,但是我知道它与URL有关。应该如何以及何时使用这种this子? 问题答案: “子弹”是一种通常使用已获得的数据生成有效URL的方法。例如,一个ug使用文章标题来生成URL。我建议通过给定标题(或另一段数据)的函数来生成段,而不要手动设置它。 一个例子: 现在,我们假设我们有一个Django模型,例如: 你

  • 问题内容: 该参数对和有什么用?例如,给定以下代码,的作用是什么? 问题答案: 该属性指定从模型回到模型的反向关系的名称。 如果不指定,Django会自动使用带有后缀的型号的名称创建一个,例如。 如果确实在模型上指定,则仍然可以使用,但是.语法显然更简洁,更简洁。因此,例如,如果你有一个用户对象,则可以用来获取Map模型中与关联的所有实例。

  • 问题内容: 有时当我阅读Django代码时,会看到一些模板。我不太清楚这是什么,但是它与一起使用。应该如何以及何时使用? 如果有人给出一些例子的答案是件好事… 问题答案: reverse()| Django文档 假设你已经定义了以下内容: 然后,你可以在模板中将此网址引用为: 这将呈现为: 现在说你想在你的网站中做类似的事情例如,你正在/foo/其他视图(不是)中处理其他URL(不是),并且你想要

  • 问题内容: 该参数对和有什么用?例如,给定以下代码,的作用是什么? 问题答案: 该属性指定从模型回到模型的反向关系的名称。 如果不指定,Django会自动使用带有后缀的型号的名称创建一个,例如。 如果确实在模型上指定,则仍然可以使用,但是User.maps.语法显然更简洁,更简洁。因此,例如,如果你有一个用户对象,则可以用来获取Map模型中与关联的所有实例。 该Django文档有更多的细节。

  • 问题内容: 嗨,我遇到了以下代码 这到底是怎么回事?我不确定“&”在做什么。 问题答案: 回答 该符号是按位与运算符。与1一起使用时,基本上会屏蔽该值以提取最低位,换句话说,它将告诉您该值是偶数还是奇数。 有关Python运算符的更多信息 有关更多信息,请参见:http : //wiki.python.org/moin/BitwiseOperators 为什么检查奇数与偶数比较有效 编辑:添加此部

  • 本文向大家介绍Django项目中python类的最佳位置是什么?,包括了Django项目中python类的最佳位置是什么?的使用技巧和注意事项,需要的朋友参考一下 您可以将上述课程放在想要的地方。 示例 然后,您可以使用import导入qux.py模块。 从project.foo.qux导入* 处理大量文件时,使目录更好。例如-