【问题标题】:Django password required viewsDjango 密码要求视图
【发布时间】:2013-01-24 13:17:01
【问题描述】:

我有一个用于编辑模型对象的编辑视图。我想用我生成并放入模型中的密码对其进行密码保护。 我不想使用 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 中设置的一个密码

有什么简单的包或方法可以做到这一点?

【问题讨论】:

    标签: django django-views


    【解决方案1】:

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

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2022-10-07
      • 2013-12-16
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 2015-09-08
      • 2012-10-14
      • 2013-07-29
      相关资源
      最近更新 更多