django - 如何使用会话在 Django 中创建登录系统?
问题描述
我正在尝试创建一个通过自定义登录验证的网站。但我有一个用户自定义模型。如何从匿名用户那里验证我的网站。是否可以使用基于会话的登录系统。实际上这是我的第一个 django 项目。请指导我。谢谢你。
解决方案
登录时,检查用户名和密码后创建一个会话,在其中设置他们的用户对象或它的对象ID。在这种情况下,我保留了用户 ID。
def login(request):
if request.method == "GET":
if (Users.objects.filter(username = request.GET.get("uname"), password = request.GET.get("upswd"))).exists():
user = Users.objects.get(username = request.GET.get("uname"), password = request.GET.get("upswd"))
request.session["user"] = user.id
# request.session.set_expiry(10)
# it shows home page
return render(request,"home.html")
#it shows again login page
return render(request,"Login.html")
只有在登录页面你会设置会话,在剩下的时候你会检查页面是否包含该会话。例如,在主页登录后你应该检查请求是否包含用户会话。
if request.session.has_key("user"):
userid = request.session["user"]
#displaying all items in database
context={"items":Products.objects.all()}
return render(request,"home.html",context)
推荐阅读
- wordpress - 如果我在删除插件 w3 总缓存之前没有关闭常规设置下的所有缓存怎么办
- flutter - Flutter - 在点击时动画小部件以从 GridView 移动到 BottomBar
- amazon-web-services - 为什么我无法使用 webtoken 访问 AWS Airflow 的 UI?
- c# - 如何从 Bing 地图中删除所有现有的图钉?
- python - 网络抓取问题 求职网站
- python - 在具有 tf.while_loop (TF 2.0) 的函数上使用 tf.vectorized_map 的问题
- python - Firebase UID 和设置自定义管理规则和权限
- php - 如何使用来自 json 的值创建一个数组
- python - PYTHON:'for'循环结束时出现奇怪的错误
- android-studio - 如何从 android studio 中的 MainActivity.java 访问 XML GUI 对象?