将QR码识别接口连接到Django数据库

时间:2019-01-10 18:42:54

标签: python django qr-code

我正向您提出以下问题:

我有一堆物理盒子,我仍然粘贴使用名为qrcode的python模块生成的QR码。简而言之,我想做的就是每次有人要拿走盒子中包含的物体时,他用手机扫描二维码,然后取走并放回去,而不忘扫描二维码。再次输入代码。

很简单,不是吗? 我已经有了一个包含所有对象的django表。

现在我的问题与设计有关。我怀疑最简单的方法是在QR码中添加一个POST请求链接,该链接将在表中创建一个新条目,其中包含已拾取或放回的对象的名称,时间(我想存储该信息)。

如果这是正确的方法,您将如何处理?我不太确定我是否知道如何使用QR码发出POST请求。你有什么主意吗?

谢谢。

PS:我可以想到的另一种选择是将QR码中的链接链接到带有用户单击的虚拟按钮的表单。单击后,该按钮将更新数据库。但是我会在没有任何按钮的情况下更方便地解决问题...

2 个答案:

答案 0 :(得分:1)

如果安全性不是一个大问题,那么一个带有简单get方法的API会将对象id作为参数,并且我将假定您具有代码来确保是否按对象给出对象将其切换为返回值。 为什么不发布? POST需要标头,除非您拥有专用的应用程序,否则标头不能包含在其中,因此GET和使用example.com/api/leaseandret?id=12345的功能是更好的选择,可以更好地与QR结合使用。 br /> A summary of the methods *
*这里要注意的一点是,不禁止将GET用于修改数据并将数据发送到服务器GET仅用于从REST纯粹主义者的角度获取数据。

答案 1 :(得分:1)

问题可归结为以下几种选择:(a)您要将哪些数据编码为QR码; (b)您将使用什么应用程序扫描QR码; (c)您希望应用如何使用/响应编码数据。

如果您希望用户使用现成的QR码阅读器(例如免费的智能手机应用程序),则可以将完整的URL编码为后端上的相应API。这应该是GET还是POST取决于QR码阅读器。我希望大多数人都使用GET,但是您应该验证这一点,以供您选择应用程序。如果您不必担心谁应该能够扫描代码,那在功能上应该没问题。

如果您想要更多控制权,例如您想跟踪仅从静态URL请求中谁扫描了服务器端不可用的代码或其他信息,您需要使用其他方法。例如,将商品ID(而非URL)存储在QR码中;创建自己的简单QR码扫描仪应用程序(存在很多很好的示例),并向该客户端添加一些额外的逻辑,例如要求用户使用ID +密码登录,并根据商品ID和用户ID动态构建URL 。可能有许多安全性变化(例如JWT令牌)-QR代码的内容不会决定您如何执行。您可以在该QR码扫描仪/客户端中执行许多其他操作,例如添加GPS位置,要求用户指出他们要携带物品的原因或地点等。

因此,您可以在没有控件的简单方法和可以让您分层放置其他控件和所需额外数据的更复杂方法之间进行选择。