Django如何生成短随机段塞?

2024-10-01 17:36:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在实现照片共享web应用程序,其中每张照片的链接将不同。”localhost.com/fggcxdf“如何生成一个应该是唯一的短随机段塞。你知道吗


Tags: comweb应用程序localhost链接照片fggcxdf
1条回答
网友
1楼 · 发布于 2024-10-01 17:36:53

使用Django utils为您的模型生成唯一的slug,并在创建新模型后使用signal为您的模型生成slug。 这段代码将从您的模型中获得标题,并使用标题生成随机slug。 你的型号.py

from django.utils.text import slugify
def create_slug(instance, new_slug=None):
    slug = slugify(instance.title)
    if new_slug is not None:
        slug = new_slug
    qs = YOURMODEL.objects.filter(slug=slug).order_by("-id")
    exist = qs.exists()
    if exist:
        new_slug = "%s-%s" % (slug, qs.first().id)
        return create_slug(instance, new_slug=new_slug)
    return slug


def post_pre_save_signal_reciever(sender, instance, *args, **kwargs):
    if not instance.slug:
        instance.slug = create_slug(instance)

如果你只是谷歌一下,你也会找到其他的解决方案。你知道吗

相关问题 更多 >

    热门问题