首页 文章

django的批准网址

提问于
浏览
0

我有一个django应用程序,用户应该要求经理加入某个组 .

我需要能够通过批准特定用户的URL向经理发送批准邮件

加入一个特定的小组 .

如何构建此类URL以及如何在单击该URL后识别用户和组?

也许你有一些我可以阅读的链接?

谢谢,阿尔沙夫斯基亚历山大 .

2 回答

  • 1

    对于批准电子邮件,您可以发送用户的ID(处于干净状态(id = 1或散列(如果您需要时间来添加一些salt,如id = 356a192b7913b04c54574d18c28d46e6395428ab)到组管理器 .

    然后,当群组管理员点击链接时,他会被重定向到他的“仪表板”,并且用户已预先选择进行审批(您可能希望列出该页面中用户的所有批准请求(尚未批准))

    然后,组管理员可以允许或拒绝用户访问(对于单个组或多个组)

  • 0

    以下是如何为请求创建唯一键

    from random import random
    from django.utils.hashcompat import sha_constructor
    
    invite_salt = sha_constructor(str(random())).hexdigest()[:5]
    invite_key = sha_constructor("|".join([admin_salt, email, url])).hexdigest()
    

    然后将其存储在模型的字段中,您可以将其命名为ApprovalRequest . 然后你可以 Build 一个像这样的视图

    def approve(request, admin_key):
        approval_request = get_object_or_404(ApprovalRequest, invite_key=admin_key)
    

    ApprovalRequest应该包含一个ForeignKey给发起它的用户和他们想要加入的组,这样你就可以在此时适当地处理它,之后将批准请求标记为完成 .

    要获取此批准视图的URL,您可以使用reverse('approve',admin_key),假设您在urls.py中按如下方式映射视图

    url(r"^approve/([^/]+)/", 'example.views.approve', name='approve')
    

相关问题