Py学习  »  Django

单击链接时如何中断django视图中的输入读取

Vittorio • 4 年前 • 212 次点击  

我正在研究一个基于django的带有rfid阅读器的锁定/访问系统。问题是,如果在等待读卡器检测标记时,我单击已显示模板上的链接,服务器将继续在后台等待卡。接下来,如果我返回access页面并重新加载reading函数,它会将该请求置于之前的请求之下。

如果使用基本的input()函数而不是mfrc522库中的reader.read_id()函数,也会出现此问题

import mfrc522
# ... other imports

# main access view
def access_result(request):
    reader = mfrc522.SimpleMFRC522()
    # CRITICAL PART
    card_id = reader.read_id()
    try:
        if RFIDCard.objects.get(card_id=card_id):
            card = RFIDCard.objects.get(card_id=card_id)
            if card.remaining_accesses > 0 and card.expiration_date >= datetime.date.today():
                card.remaining_accesses -= 1
# ... some other lines of code (not relevant)
    except RFIDCard.DoesNotExist:
        message = 'Card not registered'
        description = 'It seems that we haven\'t registered this card. ' \
                      'Please ask for help at the reception'

    return render(request, 'rfid/access_result.html', {
        'message': message,
        'description': description
    })

如果用户在阅读之前(和阅读期间)点击页面的链接,我想中断阅读。有没有一个简单的方法可以做到这一点?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46683
 
212 次点击