day37 crm开发之用户登录功能开发
web应用增加用户登录视图功能
# -*- encoding: utf-8 -*-
"""
@File : account.py
@Time : 2022/3/7 20:56
@Author : simon
@Email : 294168604@qq.com
@Software: PyCharm
"""
from django.shortcuts import render, HttpResponse, redirect
from web import models
from web.utils.md5 import gen_md5
def login(request):
"""
用户登录
:param request:
:return:
"""
if request.method == 'GET':
return render(request, 'login.html')
user = request.POST.get('user')
pwd = gen_md5(request.POST.get('pwd',''))
# 根据用户名和密码去用户表中获取用户对象
user = models.UserInfo.objects.filter(name=user, password=pwd).first()
if not user:
return render(request, 'login.html', {'msg': '用户名或密码错误'})
request.session['user_info'] = {'id': user.id, 'nickname': user.nickname}
return redirect('/index/')
def logout(request):
"""
注销
:param request:
:return:
"""
request.session.delete()
return redirect('/login/')
def index(request):
return render(request,'index.html')
添加路由
from django.contrib import admin
from django.urls import path
from stark.service.v1 import site
from web.views import account
urlpatterns = [
path('admin/', admin.site.urls),
path('stark/', site.urls),
path('login/', account.login, name='login'),
path('logout/', account.logout, name='logout'),
path('index/', account.index, name='index'),
]
添加登录和首页模板
login.html
{% load static %}
大塘培训
index.html
{% extends 'layout.html' %}
{% block content %}
欢迎使用
{% endblock %}
效果如图: