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

在Django中,“slug”是什么?

陶高峯
2023-03-14
问题内容

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


问题答案:

“子弹”是一种通常使用已获得的数据生成有效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子? 问题答案: “slug”是一种通常使用已获得的数据生成有效URL的方法。例如,一个ug使用文章标题来生成URL。我建议通过给定标题(或另一段数据)的函数来生成段,而不要手动设置它。 一个例子: 现在,我们假设我们有一个Django模型,例如:

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

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

  • Django (/ˈdʒæŋɡoʊ/jang-goh) 是用 Python 写的一个自由和开放源码 web 应用程序框架。 web框架是一套组件,能帮助你更快、更容易地开发web站点。 当你开始构建一个web站点时,你总需要一些相似的组件:处理用户认证(注册、登录、登出)的方式、一个管理站点的面板、表单、上传文件的方式,等等。 幸运的是,其他人很早就注意到web开发人员会面临一些共同的问题。所以他

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

  • 正如Translation Django文档的本节所述,函数ugettext_noop是一个用于国际化的实用函数: