django登录与注销学习笔记

创建工程

django-admin startproject 工程名字

创建项目

python manage.py startapp 应用名
django登录与注销学习笔记

注册django后台管理代码

#后台认证数据表迁移
D:\pythonspacen\djano\guest>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

#创建用户
D:\pythonspacen\djano\guest>manage.py createsuperuser
Username (leave blank to use 'admin'):
Email address: [email protected]
Password:
Password (again):
The password is too similar to the email address.
Password:
Password (again):
Superuser created successfully.

编写配置路由代码

from django.contrib import admin
from django.urls import path

from sign import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index),
    path('index/', views.index),
    path('accounts/login/', views.index),  # 认证系统
    path('Login/', views.Login),
    path('logout/', views.logout),  # 退出系统
    path('event_manage/', views.event_manage),
]

编写视图代码

from django.contrib.messages.storage import session
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib import auth
from django.contrib.auth.decorators import login_required

def index(request):
    return render(request, "index.html")

# 使用django登录
def Login(request):
    if request.method == 'POST':
        login_username = request.POST.get('username', '')
        login_password = request.POST.get('password', '')
        # 使用框架系统的用户系统
        user = auth.authenticate(username=login_username, password=login_password)
        if user is not None:
            auth.login(request, user)
            request.session['user'] = login_username
            response = HttpResponseRedirect('/event_manage/')
            return response
        elif login_password == "" and login_username == "":
            return render(request, "index.html", {'error': 'username or password  null'})
        else:
            return render(request, "index.html", {'error': 'username or password error!'})
    else:
        return render(request, "index.html")

# 列表
@login_required
def event_manage(request):
    # username = request.COOKIES.get("user", "")
    username = request.session.get('user', '')
    conten = {'infon': "login success!", 'user': username}
    return render(request, "event_manage.html", conten)

# 退出
@login_required
def logout(request):
    # 使用框架系统退出
    auth.logout(request)
    # 调转到页面
    response = HttpResponseRedirect('/index/')
    return response

启动项目

django登录与注销学习笔记

使用刚才注册的用户名与密码登录
django登录与注销学习笔记
django登录与注销学习笔记

登录成功

django登录与注销学习笔记

猜你喜欢

转载自blog.51cto.com/357712148/2374598