Django,COOKIES,SESSION完成用户登入

1.urls.py

"""Django_cookie_session URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path(‘‘, views.home, name=‘home‘)
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path(‘‘, Home.as_view(), name=‘home‘)
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path(‘blog/‘, include(‘blog.urls‘))
"""
from django.contrib import admin
from django.urls import path
from app01 import views
urlpatterns = [
    path(‘admin/‘, admin.site.urls),
    path(‘login/‘, views.login),
    path(‘index/‘, views.index),
]

2.views.py

from django.shortcuts import render, redirect

# Create your views here.

def login(request):
    print(‘COOKIES:-->‘, request.COOKIES)
    print(‘SESSION:-->‘, request.session)

    if request.method == ‘POST‘:
        print(‘POST!!!‘)
        name = request.POST.get(‘user‘)
        pwd = request.POST.get(‘pwd‘)

        print(name)
        print(pwd)

        if name == ‘ck‘ and pwd == ‘123‘:
            # ret = redirect(‘/index/‘)
            # ret.set_cookie(‘user‘, name)
            # return ret
            request.session[‘is_login‘] = True
            request.session[‘user‘] = name
            return redirect(‘/index/‘)

    return render(request, ‘login.html‘)

def index(request):

    # if request.COOKIES.get(‘username‘, None):
    #     name = request.COOKIES.get(‘username‘, None)
    #     return render(request, ‘index.html‘, locals())

    if request.session[‘is_login‘] == True:
        name = request.session.get(‘user‘, None)
        return render(request, ‘index.html‘, locals())
    else:
        return redirect(‘/login/‘)

3.index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>{{ name }}</h1>
</body>
</html>

4.login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>{{ name }}</h1>
</body>
</html>

 cookies和session是浏览器在访问服务器端口时与连接请求一起发送的内容。

 目的是实现用户的登入操作,通过判断用户有没有对应的cookie或是session判断用户登入与否并从中获取用户的个人信息。

 cookies与session的区别是session的用户信息是存在服务器端,浏览器提供自己的键,对应的是服务端的键值就是用户的信息。这样保证用户的信息安全。

原文地址:https://www.cnblogs.com/CK85/p/10178562.html

时间: 2024-09-29 09:34:14

Django,COOKIES,SESSION完成用户登入的相关文章

[Django]登陆界面以及用户登入登出权限

前言:简单的登陆界面展现,以及用户登陆登出,最后用户权限的问题 正文: 首先需要在settings.py设置ROOT_URLCONF,默认值为: ROOT_URLCONF  = 'www.urls'#用户请求django站点页面首先检查这个模块 这里的www.urls是我的工程www下urls.py文件 urls.py文件主要设置urlpatterns参数,设置如下: urlpatterns= [    url(r'^$', 'login.views.login_view', name='log

django项目 设置session 实现用户登入登出

一.配置文件 settngs.py中 # 使用django认知系统的登录状态装饰器时,没有登录的话,跳往登录页面后路径是/acount/login 需要重新指定 LOGIN_URL = '/user/login' # 设置允许保存session SESSION_SAVE_EVERY_REQUEST = True # 设置session存放在缓存中 SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # 使用默认选项的缓存设置存放se

flask笔记:6:用户登入登出

用户登入登出需要用到 Flask-Login 插件 初始化 修改配置文件 app/__init__.py from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy import os from flask.ext.login import LoginManager app=Flask(__name__) app.config.from_object('config') db=SQLAlchemy(app) lm = L

linux下查看用户登入系统相关命令及编写脚本(七)

查看用户登入系统日志 1.w 显示谁登入并正在做什么事 2.who 显示谁登入 -r:显示系统运行级别 3.sleep 睡眠命令(sleep 5 睡眠5秒后醒来) 4.whoami 显示用户名或UID 5.last:显示/var/log/wtmp文件,显示用户登录历史及系统重启历史 -n 3: 显示最近3次的相关信息 6.lastb:显示/var/log/btmp文件,显示用户错误的登录尝试 -n 3: 显示最近3次的错误的登录尝试 7.lastlog: 显示每一个用户最近一次的成功登录信息:

基于文件存储的用户登入

基于文件存储的用户登入(用户登入时三次输入错误的用户名和密码锁定账户) 1 #/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author:ylw 4 5 f1 = open('userdb','r') # 打开文件userdb 并读取里面的内同容 6 data = f1.read() # 把f1 变量为 data可以读取f1里所有内容 7 f1.close() # 关闭文档 8 user_str_list = data.split(\n) #变

linux 中 root用户登入mysql数据库权限受限

今天发现一个奇怪问题,root用户登入mysql数据库突然变得权限受限制了,没有权限mysql库 我的解决办法是在my.cnf配置文件内增加一条 ship-grant 免密码使用root账户登入数据库,发现可以查看到所有的数据库了,这时在重新设置下root账户的权限 grant all on *.* to 'root'@'localhost' identified by 'password'; 退出mysql 取消#skip-grant 然后重启mysql服务 ,再次用root登入mysql一切

Citrix用户登入到用户拿到桌面流程

现在很多工程师在部署Citrix项目中都会开启HTML5,用户就不需要安装Receiver,通过Web直接就可以登入到虚拟桌面,一般项目中从用户打开网页登入用户名拿到自己办公桌面一般时间都在60S内(这个是保守的,我自己做的项目都在30s-40s用户就可以拿到桌面).就在这短暂的一分钟内,我们应该清楚理清其中的过程,以便用户在出现登入故障的时候我们可以依据提示或者报错,准确的定位所存在的问题. 下面就是我根据自己在Citrix原厂培训和项目中的 一些总结. 1.首先用户通过网页访问SF站点,将用

根文件系统添加用户登入功能

1:再启动文件系统的时候为什么没有出现用户登入界面 在文件inittab中,::respawn:-/bin/sh被执行时,直接进入了命令行,因此不会显示用户登入界面,因此添加用户登入界面需要在这里做文章.2:busybox如何实现用户登入我们知道busybox是很多可执行程序的集合,busybox中也集成了用户登入的命令,分别是/bin/login和/sbin/gettty3:添加用户登入界面结合前面所述只需要将::respawn:-/bin/sh改为::respawn:-/bin/login或

使用组策略记数数据库用户登入终端

1:在域管理服务器上,打开组策略2:新建一个组策略,名为GetUserInfo3:打开组策略,用户登入时执处GetuserInfo.vbs脚本在域模式下,记录用户登入计算机数据库 Option Explicit Dim conSet objSysInfo = CreateObject("ADSystemInfo")strUser = objSysInfo.UserNameSet objUser = GetObject("LDAP://" & strUser)