gpt4 book ai didi

python - 如何实现硬件设备注册到Django用户账号

转载 作者:行者123 更新时间:2023-11-28 17:38:49 25 4
gpt4 key购买 nike

我目前正在开发一个网站,该网站允许用户与他们可以在家中安装的硬件单元进行交互。我目前正在使用 django-allauth 进行用户注册,这可以按需进行。我的下一步是允许用户将他们的硬件单元链接到他们的帐户。我希望使用某种由字符组成的唯一 key (例如 Sr3D-$3tr-SQ2Q-CB24)来实现这一点,这些 key 只能链接到一个帐户。我不希望它成为用户模型(用于注册)的一部分,而是他们可以稍后在配置文件模型(链接到用户模型)中链接的东西。

我广泛搜索了实现类似功能的 django 包或示例,但没有成功。我相信这是非常标准的功能,例如,当您必须使用购买时附带的关键短语注册您购买的游戏(以访问在线功能)时。

谁能给我指出一些示例或包,说明如何使用 Django 实现这一点?

[编辑]在 BingsF 下面的第一个答案之后,我认为我应该更精确地描述我所追求的功能。基本上我想在数据库中有一个表,我可以在其中添加合法 key 以及注册它的用户的用户名(最初为“Null”,直到用户使用该 key 注册自己)。然后,当用户注册时,我需要进行检查以确保他们输入了合法 key 并且之前没有注册过。

一个用户应该能够注册多个设备。

最佳答案

我的方法可能是创建一个新模型,并使用引用用户模型的外键。

它看起来像这样(在您的 models.py 中):

class Device(models.Model):
username = models.ForeignKey(User)
hardware_key = models.CharField(max_length=32, primary_key=True)

然后,在您的网页上,当用户上传新的硬件 key 时,您会执行以下操作:

from models import Device, User

try:
device = Device.objects.get(hardware_key=<key>)
except ObjectDoesNotExist:
# deal with case where user tries to register non-existent key
else:
try:
device.username = <user>
device.save()
except IntegrityError:
# deal with case where key is already registered to another user

参见 here有关创建/使用模型的更多信息

关于python - 如何实现硬件设备注册到Django用户账号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27465858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com