Ryu*_*der 6 django uuid python-3.x
我正在为练习制作一个Web应用程序,它是一个工作门户.我想为作业创建8位唯一ID,这对最终用户可见.ID可以有数字和字母.模式必须是8位数字,没有连字符或破折号,如XXXXXXXX.
我知道python中有UUID的东西.但它们似乎以特定格式生成id.有没有办法以我所需的格式获取ID?如果没有,有人可以指导我如何去做吗?
我知道有一个类似的线程如何在Python中生成一个唯一的ID?; 但它没有具体回答我的问题.它没有回答我想要实现的目标.
提前致谢.
Aam*_*nan 13
那么你可以使用uuid.hex
import uuid
uuid.uuid4().hex[:8]
Run Code Online (Sandbox Code Playgroud)
或者Django也有辅助函数get_random_string,它接受两个参数length (默认值= 12)和allowed_chars:
from django.utils.crypto import get_random_string
get_random_string(8).lower()
Run Code Online (Sandbox Code Playgroud)
使用os.urandom的数据,并base64对其进行编码;
In [1]: import os
In [2]: import base64
In [3]: base64.b64encode(os.urandom(6)).decode('ascii')
Out[3]: '6Amtry80'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5329 次 |
| 最近记录: |