我正在开发一个 django 项目,并希望在 url 末尾包含一个 slug,就像在 stackoverflow.com 上所做的那样:http://example.com/object/1/my-slug- generated-from-my-title http://example.com/object/1/my-slug-generated-from-my-title
对象 ID 将用于查找项目,而不是 slug,并且与 stackoverflow.com 一样,在获取链接时(仅在显示链接时),slug 根本不重要。
Qestion:动态生成 slug 而不是将其保存为实际的数据库字段是否有缺点(或优点)?
例如(不real code):
class Widget(models.Model):
title = models.CharField()
def _slug(self):
return slugify(self.title)
slug = property(_slug)
而不是使用像 AutoSlugField 这样的东西(例如 http://github.com/django-extensions/django-extensions/blob/master/django_extensions/db/fields/__init__.py) ?
由于我的计划是使其与标题相匹配,因此我不知道数据库中存在重复字段是否有意义。
Thanks!
如果您将 slug 用于装饰(而不是查找)目的,那么动态生成它是最好的主意。
此外,您发布的代码示例可以这样写:
@property
def slug(self):
return slugify(self.title)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)