无需重新加载pag的Django身份验证

2024-05-12 13:45:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我对前端web编程比较陌生,正在尝试模仿iCloud.com网站登录页面。我有整个布局。我有成功登录时的转换功能以及登录失败时的震动功能,但我一辈子都无法想出如何在不更改页面的情况下使用django检查用户身份验证,然后相应地激活这些功能。我不能让ajax或任何东西工作。在

有谁知道怎么做才能给我指明方向。现在我很确定我要做的是提交一个ajax表单。在


Tags: django功能com身份验证web网站检查用户编程
1条回答
网友
1楼 · 发布于 2024-05-12 13:45:01

用户身份验证没有什么特别的。对于ajax和非ajax视图,它的工作原理是一样的。在

我建议您先在没有ajax的情况下实现身份验证。确认它工作正常,然后使用ajax。在

但简单的例子是:

1)将登录url添加到url

from django.contrib.auth import views as auth_views
....
url(r'^authenticate/$',
        auth_views.login,
        {'template_name': 'yourapp/login.html'},
        name='auth_login'),

如您所见,您可以将模板作为该视图的关键字参数。因此,您可以使用djangos自己的auth视图对模板进行身份验证

2)添加链接到您的页面,点击后。获取请求并读取模板并将其放入某种模式。这相对容易,许多jQuery模式插件都支持这个特性。我已经多年没有使用jQuery了,所以找到一个可靠的例子对您来说可能和对我一样容易

3)模态窗口将显示您自己的登录.html. 在该文件中,您将表单发布到其来源的同一个url。您可以通过将form action属性设置为{{ request.get_full_path }}

4)您还必须实现一些js代码,这些代码将在提交时重置表单以显示登录错误。在

5)成功提交后可能是最困难的部分,因为您必须在这里进行大多数编码。使用django视图登录后,如果不使用ajax,则会重定向。您可以用两种方式来处理它-预期它和使用返回的重定向作为提示,您可以显示“登录成功”消息,或者向您的服务器发出另一个ajax请求,以获取“登录成功”模板并刷新需要显示登录(登录或未登录)状态的站点区域。在

相关问题 更多 >