Tôi đang tạo một ứng dụng web để thực hành, đó là một cổng thông tin công việc. Tôi muốn tạo ID duy nhất 8 chữ số cho công việc sẽ hiển thị cho người dùng cuối. ID có thể có số và bảng chữ cái. Mẫu cần phải là 8 chữ số mà không có dấu gạch nối hoặc dấu gạch ngang như xxxxxxxx.XXXXXXXX.
Tôi biết có điều UUID trong Python. Nhưng họ dường như tạo ID trong định dạng cụ thể của họ. Có cách nào để có được ID ở định dạng yêu cầu của tôi không? Nếu không ai đó có thể vui lòng hướng dẫn tôi về cách đi về nó?
Tôi biết có một chủ đề tương tự làm thế nào tôi có thể tạo ID duy nhất trong Python ?; Nhưng nó không trả lời cụ thể câu hỏi của tôi. Nó không trả lời những gì tôi đã cố gắng đạt được.
Cảm ơn trước.
Tất cả đều là Vаons
23.3K14 Huy hiệu vàng83 Huy hiệu bạc107 Huy hiệu đồng14 gold badges83 silver badges107 bronze badges
Đã hỏi ngày 9 tháng 3 năm 2017 lúc 18:39Mar 9, 2017 at 18:39
2
Vâng, bạn có thể sử dụng uuid.hex
import uuid
uuid.uuid4[].hex[:8] # Might reduce uniqueness because of slicing
Hoặc Django cũng có chức năng trợ giúp GET_RANDOM_STRING chấp nhận hai tham số length
[mặc định = 12] và allowed_chars
:
from django.utils.crypto import get_random_string
get_random_string[8]
Đã trả lời ngày 9 tháng 3 năm 2017 lúc 18:47Mar 9, 2017 at 18:47
Aamir Rindaamir RindAamir Rind
37.7K21 Huy hiệu vàng121 Huy hiệu bạc158 Huy hiệu đồng21 gold badges121 silver badges158 bronze badges
4
Sử dụng os.urandom
cho dữ liệu và
from django.utils.crypto import get_random_string
get_random_string[8]
0 mã hóa nó;In [1]: import os
In [2]: import base64
In [3]: base64.b64encode[os.urandom[6]].decode['ascii']
Out[3]: '6Amtry80'
Đã trả lời ngày 9 tháng 3 năm 2017 lúc 18:59Mar 9, 2017 at 18:59
Roland Smithroland SmithRoland Smith
41K3 Huy hiệu vàng59 Huy hiệu bạc87 Huy hiệu đồng3 gold badges59 silver badges87 bronze badges
1
TLDR: Sử dụng Hashids để chuyển đổi một-một giữa số nguyên tuần tự và chuỗi trông ngẫu nhiên use hashids to convert one-to-one between sequential integers and random-looking strings
Nếu bạn đang tạo một ứng dụng web và cần ánh xạ ID chuỗi như
from django.utils.crypto import get_random_string
get_random_string[8]
1 cho một số mục nhập trong cơ sở dữ liệu, bạn muốn một phương thức chuyển đổi một-một để chuyển đổi qua lại giữa số nguyên và ID chuỗi.Thay vì tạo ID ngẫu nhiên mỗi lần và kiểm tra xem nó đã được thực hiện, bạn có thể gán số nguyên tuần tự có sẵn tiếp theo
from django.utils.crypto import get_random_string
get_random_string[8]
2 cho mỗi mục mới và from django.utils.crypto import get_random_string
get_random_string[8]
3 nó thành một chuỗi duy nhất bằng cách sử dụng from django.utils.crypto import get_random_string
get_random_string[8]
4. Khi người dùng yêu cầu chuỗi, bạn có thể from django.utils.crypto import get_random_string
get_random_string[8]
5 nó trở lại vào số nguyên và lấy dữ liệu của bạn.Đã trả lời ngày 17 tháng 4 năm 2020 lúc 20:41Apr 17, 2020 at 20:41
Rovykorovykorovyko
3.7624 huy hiệu vàng28 Huy hiệu bạc40 Huy hiệu đồng4 gold badges28 silver badges40 bronze badges
Nhập UUID ..
# In ID ngẫu nhiên bằng UUID1 [].
in ["ID ngẫu nhiên sử dụng UUID1 [] là:", end = ""].
Nhập UUID ..
# In ID ngẫu nhiên bằng UUID1 [].
in ["ID ngẫu nhiên sử dụng UUID1 [] là:", end = ""].
in [uuid. UUID1 []].
Làm thế nào để bạn tạo một định danh duy nhất?
Cách đơn giản nhất để tạo số nhận dạng là bằng số sê -ri. Một con số tăng đều đặn được gán cho bất cứ điều gì bạn cần xác định tiếp theo. Đây là cách tiếp cận được sử dụng trong hầu hết các cơ sở dữ liệu nội bộ cũng như một số định danh công khai thường gặp. Print 10 random values of numbers between 1 and 100.
Python3
from django.utils.crypto import get_random_string
get_random_string[8]
6 from django.utils.crypto import get_random_string
get_random_string[8]
7from django.utils.crypto import get_random_string
get_random_string[8]
6 Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX4
length
4 length
5
Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX6
length
77____59 length
9Đầu ra: & nbsp;
76 72 7 78 77 19 24 23 77 96
5In [1]: import os
In [2]: import base64
In [3]: base64.b64encode[os.urandom[6]].decode['ascii']
Out[3]: '6Amtry80'
allowed_chars
1 allowed_chars
2___ Print random numbers between 1 and 100
which are multiple of 5.
Python3
from django.utils.crypto import get_random_string
get_random_string[8]
6 from django.utils.crypto import get_random_string
get_random_string[8]
7from django.utils.crypto import get_random_string
get_random_string[8]
6 Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX4
length
4 length
5
Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX6
length
77____59 length
9Đầu ra: & nbsp;
60 30 35 100 85 25 100 20 90 85
5In [1]: import os In [2]: import base64 In [3]: base64.b64encode[os.urandom[6]].decode['ascii'] Out[3]: '6Amtry80'
allowed_chars
1allowed_chars
2___
6In [1]: import os In [2]: import base64 In [3]: base64.b64encode[os.urandom[6]].decode['ascii'] Out[3]: '6Amtry80'
allowed_chars
9os.urandom
09In [1]: import os In [2]: import base64 In [3]: base64.b64encode[os.urandom[6]].decode['ascii'] Out[3]: '6Amtry80'
92In [1]: import os In [2]: import base64 In [3]: base64.b64encode[os.urandom[6]].decode['ascii'] Out[3]: '6Amtry80'
S2M2IEAO
Tạo ID ngẫu nhiên sử dụng UUID trong Python & NBSP;
Làm thế nào để bạn tạo một ID độc đáo trong Python?
Sử dụng phương thức UUID.UUID4 [] để tạo ID duy nhất, ví dụ: độc đáo_id = uuid. UUID4 []. Mô-đun tích hợp UUID thực hiện phương thức UUID4 [] tạo và trả về ID ngẫu nhiên. Show how to generate random string id’s.
Python3
from django.utils.crypto import get_random_string
get_random_string[8]
6 from django.utils.crypto import get_random_string
get_random_string[8]
7from django.utils.crypto import get_random_string
get_random_string[8]
6 Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX4
Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX5
Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX6
Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX7
Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX8
Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX9
S2M2IEAO0
from django.utils.crypto import get_random_string
get_random_string[8]
8 S2M2IEAO2
In [1]: import os
In [2]: import base64
In [3]: base64.b64encode[os.urandom[6]].decode['ascii']
Out[3]: '6Amtry80'
0 In [1]: import os
In [2]: import base64
In [3]: base64.b64encode[os.urandom[6]].decode['ascii']
Out[3]: '6Amtry80'
1In [1]: import os
In [2]: import base64
In [3]: base64.b64encode[os.urandom[6]].decode['ascii']
Out[3]: '6Amtry80'
22In [1]: import os
In [2]: import base64
In [3]: base64.b64encode[os.urandom[6]].decode['ascii']
Out[3]: '6Amtry80'
6 S2M2IEAO9
Đầu ra: & nbsp;
Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX
Mã số 2: Sử dụng cuộc gọi chức năng Using Function call
Python3
from django.utils.crypto import get_random_string
get_random_string[8]
6 from django.utils.crypto import get_random_string
get_random_string[8]
7from django.utils.crypto import get_random_string
get_random_string[8]
6 Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX4
length
4 length
5
Rf2IdqUNkURNN6mw82kSpyxQe9ib3usX6
length
77____59 length
9In [1]: import os
In [2]: import base64
In [3]: base64.b64encode[os.urandom[6]].decode['ascii']
Out[3]: '6Amtry80'
5allowed_chars
1 allowed_chars
2___In [1]: import os
In [2]: import base64
In [3]: base64.b64encode[os.urandom[6]].decode['ascii']
Out[3]: '6Amtry80'
6 allowed_chars
9os.urandom
0In [1]: import os
In [2]: import base64
In [3]: base64.b64encode[os.urandom[6]].decode['ascii']
Out[3]: '6Amtry80'
9In [1]: import os
In [2]: import base64
In [3]: base64.b64encode[os.urandom[6]].decode['ascii']
Out[3]: '6Amtry80'
92Đầu ra: & nbsp;
Mã số 2: Sử dụng cuộc gọi chức năngfrom django.utils.crypto import get_random_string
get_random_string[8]
6 from django.utils.crypto import get_random_string
get_random_string[8]
7