私はadmin.pyに中国語を読もうとしていますが、どうすればそれができるのかわかりません。これは私が持っているものです。
admin.py
from django.contrib import admin
from collection.models import Thing
class ThingAdmin(admin.ModelAdmin):
model = Thing
list_display = ("name", "description",)
prepopulated_fields = {"slug": ("name",)}
admin.site.register(Thing, ThingAdmin)
models.py
from django.db import models
class Thing(models.Model):
name = models.CharField(max_length=255)
description = models.TextField()
slug = models.SlugField(unique=True)
今では英語で入力することができ、スラッグは適切に生成されますが、中国語でスラッグを試してみると空白です。
誰もそれを行う方法を知っていますか?ありがとうございました!
回答:
回答№1は0私は同様の問題がありました。中国語を保存できるテキストに変換する必要があります SlugField
.
含める unidecode
そしてオプションで slugify
:
from unidecode import unidecode
from django.template.defaultfilters import slugify
そして、保存を次のように上書きします。
class ThingAdmin(admin.ModelAdmin):
model = Thing
list_display = ("name", "description",)
prepopulated_fields = {"slug": ("name",)}
def save(self, *args, **kwargs):
self.slug = slugify(unidecode(self.name))
return super(ThingAdmin, self).save(*args, **kwargs)
また確認する必要があります slug
常に一意になりますが、コードには表示されません。
名前をデコードします 투자
このナメクジに tuja
等