在Django中,“子弹”是什么?
当我阅读Django代码时,我经常在模型中看到所谓的“子弹”。 我不太清楚这是什么,但是我知道它与URL有关。 应该如何以及何时使用这种this子?
(我已经在本词汇表中阅读了其定义。)
#1楼
如果我可以提供一些历史背景:
“弹头”一词与铸造金属(在这种情况下为铅)有关,而印刷字体是由铅制成的。 然后,每张纸的字体工厂都会定期重新熔化,并用新鲜的模具重新铸造,因为经过多次印刷后,它们已经磨损了。 像我这样的学徒从那里开始了他们的职业生涯,并一路攀升到了顶峰(不再有)。
排版者必须以倒排的方式撰写文章文字,并以明智的方式堆叠主角。 因此,在打印时,字母将直接在纸上。 所有的印刷机都能像打印的报纸一样快地阅读报纸。 因此,(如蜗牛)和慢故事(最后要修复的故事)在板凳席上等待着很多,只能通过拳头字母来识别,通常整个标题通常更易读。 一些“热门”新闻在板凳上等待着,可能在最后组装和确定印刷之前进行最后一分钟的更正(晚上用纸)。
Django来自堪萨斯州《劳伦斯》杂志的办公室。 也许还有一些印刷术语仍然存在。 django爱好者和来自法国的友好的老-男孩。
#2楼
也可以在django-admin上自动启动。 在ModelAdmin上添加:
prepopulated_fields = {'slug': ('title', )}
如这里:
class ArticleAdmin(admin.ModelAdmin):list_display = ('title', 'slug')search_fields = ('content', )prepopulated_fields = {'slug': ('title', )}
#3楼
Slug是一个报纸术语。 子弹是某事物的简短标签,仅包含字母,数字,下划线或连字符。 它们通常在URL中使用。 (如Django文档)
Django中的Slug字段用于为动态创建的网页存储和生成有效的URL 。
就像您在Stack Overflow上添加此问题的方式一样,并生成了一个动态页面,当您在地址栏中看到时,您会看到问题标题带有“-”代替空格。 这正是田的工作。
您输入的标题是这样的->在Django中,“子弹”是什么?
将其存储到slug字段中后,它变成“ what-is-a-slug-in-django”(请参阅此页面的URL)
#4楼
Slug是特定内容的URL友好短标签。 它仅包含字母,数字,下划线或连字符。 子弹通常与各自的内容一起保存,并作为URL字符串传递。
Slug可以使用SlugField创建
例如:
class Article(models.Model):title = models.CharField(max_length=100)slug = models.SlugField(max_length=100)
如果要将title用作slug,django有一个名为slugify
的简单函数
from django.template.defaultfilters import slugifyclass Article(models.Model):title = models.CharField(max_length=100)def slug(self):return slugify(self.title)
如果需要唯一性,则在子域中添加unique=True
。
例如,从前面的示例中:
class Article(models.Model):title = models.CharField(max_length=100)slug = models.SlugField(max_length=100, unique=True)
您是否懒于进行处理? 不用担心,此插件将为您提供帮助。 django-autoslug
#5楼
从这里 。
“ Slug”是报纸上的术语,但此处的含义是URL的最后一部分。 例如,标题为“关于Django的一点”的帖子将自动变为“ bit-about-django”(当然,如果您不喜欢自动生成的子弹,则可以轻松地对其进行更改)。
#6楼
它是URL的描述性部分,可以使它更具人工描述性,但不一定是Web服务器所必需的- 在Django中什么是“子弹”? slug是“ in-django-what-is-a-slug”,但不使用slug来确定所服务的页面 (至少在此站点上)
#7楼
“子弹”是一种通常使用已获得的数据生成有效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
由于空格在URL中无效,因此必须将其替换为%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
是一个ug:它是通过将所有字母缩进小写并用连字符-
代替空格从标题创建的。
另请参见此网页的URL。
#8楼
从历史上看,“子弹”一词来自报纸编辑界。
这是制作过程中故事的非正式名称。 随着故事从曲折的记者到编辑再到“印刷机”的曲折曲折,这就是它所引用的名称,例如,“您是否已修复“俄罗斯剪裁-欧洲天然气”故事中的错误? ?”。
Django使用它作为URL的一部分来查找故事,例如www.mysite.com/archives/russia-cuts-europe-gas
。
#9楼
sl
某物的简短标签,仅包含字母,数字,下划线或连字符。 它们通常在URL中使用。 例如,在典型的博客条目URL中:
https://www.djangoproject.com/weblog/2008/apr/12/spring/最后一点(弹簧)是弹头。
在Django中,“子弹”是什么?相关推荐
- 如何在Django中接收JSON格式的数据
Django做了大量工作简化我们的Web开发工作, 这其中当然也包括接收来自客户端的数据这一普遍需求. 大部分时候,从客户端传入的数据主要是FORM的POST数据,和来自URL的GET数据, 在Dja ...
- django中使用celery简单介绍
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 本章节我们重点在于实现,如何存储任务的结果. 我们将任务函数改为: from celery_demo.celery im ...
- Django中的Form
2019独角兽企业重金招聘Python工程师标准>>> 一.使用Form Django中的Form使用时一般有两种功能: 1.生成html标签 2.验证输入内容 要想使用django ...
- Windows下在Django中创建项目时ImportError: No module named django.core解决方法
Windows下在Django中创建项目时ImportError: No module named django.core解决方法 今天在对照<Python编程:从入门到实践>学## 标题 ...
- echarts导入mysql数据库_Echarts最新:Django中从mysql数据库中获取数据传到echarts方式_爱安网 LoveAn.com...
关于"Echarts"的最新内容 聚合阅读 这篇文章主要介绍了基于vue+echarts 数据可视化大屏展示的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随 ...
- 在BAE搭建的Django中实现图片上传并用jquery预览图片
在BAE上搭建好了django,如何实现图片上传并预览呢? 想要实现图片上传并不难,但是想看到刚上传的图片,就得在服务器返回上传后图片的url.可是返回数据的话,网页就会重定向.因此想要在上传页面预览 ...
- web.py中实现类似Django中的ORM的查询效果
Django中的对象查询 Django框架自带了ORM,实现了一些比较强大而且方便的查询功能,这些功能和表无关.比如下面这个例子: class Question(models.Model):quest ...
- django中自定义标签和过滤器
django中自定义标签和过滤器 原文:http://www.cnblogs.com/MnCu8261/p/5934203.html 纪念如何填了半天的坑,红色重点 想要实现自定义标签和过滤器需要进行 ...
- Django中Mysql数据库的使用
django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作. 使用django进行数据库开发的步骤如下: 配置数据库连接信息 在配置文件中注册 ...
最新文章
- tomcat通过conf-Catalina-localhost目录发布项目详解
- word标题文字居中浅谈
- linux 进程防火墙连接管理,Linux系统管理初步(五)系统防火墙控制程序firewalld...
- 计算机的相关配置信息,win7系统查看电脑配置相关信息的方案介绍
- docker与jenkins学习
- 基于jquery,ajax请求及自我终止的函数封装
- 【Elasticsearch】Nori:官方的韩语分析插件Elasticsearch
- python的变量名有哪些_Python 趣闻:如何获得变量的名字?
- Eclipse中的SVN插件
- 网络防火墙与防范溢出策略“溢出”
- php 快速路由,基于FastRoute的快速路由(支持RESTful)
- 计算机学硕编码,怎么区分学硕和专硕代码
- 怎么查看html隐藏代码,隐藏HTML源代码 怎样查看网页中隐藏的html源码
- 使用计算机辅助翻译,计算机辅助翻译方法
- python编程从入门到实践练习7-10:梦想的旅游胜地
- Jmeter 线程数、Ramp-Up、循环次数 详解
- Excel 2010 VBA 入门 058 定时运行程序
- matlab来解决城市设计,Matlab的实际应用设计(经典).doc
- 安装kubernetes dashboard时开发环境,运行gulp local-up-cluster任务一直显示wating for a heapster
- Ubuntu16.04编译roc-rk3328-cc