Django密码需要查看

时间:2013-01-24 13:17:01

标签: django django-views

我有一个用于编辑模型对象的编辑视图。我希望用我生成的密码保护密码,并将其放入我的模型中。 我不想使用django用户

让我说我有这样的事情:

models.py

class Job(models.Model):
    ......
    job_uuid = models.CharField("UUID", max_length=36, default=make_uuid)
    password = models.CharField("password", max_length=36)

views.py

def edit_job(request, job_uuid):
    job = get_object_or_404(Job, job_uuid=job_uuid)
    job_form = EditJobForm(instance=job)
    c = {'job_form': job_form,
    }

    c.update(csrf(request))
    return render_to_response('jobs/edit_job.html', c, context_instance=RequestContext(request))

我想用来自对象的密码保护此URL。我找到了此应用django-password-required,但此应用使用您在settings.py中设置的一个密码

任何简单的包装或方式吗?

1 个答案:

答案 0 :(得分:0)

您可以编写一个装饰器来检查edit_job视图是否需要密码访问。

然后装饰者可以使用会话/ cookie中的密码来验证访问权限。 如果密码不匹配或不存在,您可以重定向到不同的视图以显示密码表单,并将其存储在会话中。

希望这有帮助。