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 %}



    
    大塘培训
    


{% csrf_token %}
{{ msg }}

index.html

{% extends 'layout.html' %}

{% block content %}
    

欢迎使用

{% endblock %}

效果如图:

相关