【发布时间】:2016-03-22 09:42:42
【问题描述】:
这个问题可能有点大,我会尽量解释发生的一切。下面是我的标题模型,它用标题填充 slug 字段本身:
class Heading(models.Model):
category = models.ForeignKey(Category)
title = models.CharField(max_length=5000)
content =RichTextUploadingField ()
image= models.ImageField(null=True,blank=True)
date = models.DateField(default=datetime.now())
time = models.TimeField(default=datetime.now())
slug = models.SlugField(unique=True, null=True, blank=True)
def save(self, *args, **kwargs):
self.slug = slugify(self.title)
super(Heading, self).save(*args, **kwargs)
我的头衔是一门外语(具体来说是尼泊尔语) 下面是我的管理面板的图像来填充标题类
你可以看到我的标题是外语的,但是我的 slug 字段是通过将那个标题转换为我不想要的英语来自动填充的,我希望我的 slug 字段用与我的标题字段相同的语言填充.我做了一些搜索,一个名为 unidecode 的模块可能是它的解决方案,我也尝试使用它,但由于它的文档不是很好,我无法理解它。所以如果有任何其他解决方案或如何制作正确使用 unidecode?任何形式的帮助或线索将不胜感激
【问题讨论】:
-
这是 slugify 函数的文档字符串:github.com/django/django/blob/…
-
这是实际代码:github.com/django/django/blob/…。您可以直接从 utils.text 导入 slugify 并设置 unicode=True。
-
de admin 中的 slug 在您键入时由 javascript 计算,但在执行 save 方法时被覆盖。
标签: python django django-models slug unidecoder