python生成8位唯一id_如何在Python中创建8位数字的唯一ID?

I am making a web app for practice, it is a job portal. I want to create 8 digit unique IDs for job which will be visible to the end user. Ids can have numbers and alphabets. Pattern needs to be 8 digits without hyphens or dashes like XXXXXXXX.

I know there is UUID thing in python. But they seem to generate the id in their specific format. Is there a way to get the id in my required format? If not can someone please guide me on how to go about it?

I know there is a similar thread How can I generate a unique ID in Python?; but it does not answer my question specifically. It did not answer what I was trying to achieve.

Thanks in advance.

解决方案

Well you could use uuid.hex

import uuid

uuid.uuid4().hex[:8] # Might reduce uniqueness because of slicing

Or Django also has helper function get_random_string which accepts two parameters length (default=12) and allowed_chars:

from django.utils.crypto import get_random_string

get_random_string(8)

你可能感兴趣的:(python生成8位唯一id)