python Django编写登录项目

Django 目录结构:

__init__.py 文件:

import pymysql

pymysql.install_as_MySQLdb()

注意:如果 import pymysql 的时候报红,请安装 pymysql

 

输入 cmd 回车


 setting.py 文件 配置 mysql 数据库:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'magriculture',  # 确保数据库已经存在
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'USER': 'root',
        'PASSWORD': '123456',
    }
}

model.py 文件 创建数据表:

from django.db import models


# Create your models here.

# 创建管理员表
class Administrator(models.Model):
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=32)


class EnvironmentalData(models.Model):
    device_id = models.CharField(max_length=32)
    name = models.CharField(max_length=32)
    device_type = models.CharField(max_length=32)
    transfer_type = models.CharField(max_length=32)
    device_value = models.CharField(max_length=32)
    timestamp = models.CharField(max_length=32)

控制台语句生成数据表:

python manage.py makemigrations

python manage.py migrate

url.py 文件 添加路由:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('login.html', views.login),
    path('index.html', views.index),
]

view.py 文件:

from django.shortcuts import render, HttpResponse, redirect
from mAgriculture import models


# Create your views here.

def login(request):
    # 登录
    if request.method == 'POST':
        # 如果是post请求 获取用户名和密码
        name = request.POST.get('uid')
        pwd = request.POST.get('pwd')
        # 去数据库比对
        c = models.Administrator.objects.filter(username=name, password=pwd)
        if c:
            # 如果有,重定向到主页
            rep = redirect('/index.html')
            # 登陆成功 创建 cookie 存储用户名
            rep.set_cookie('username', name)
            # 返回
            return rep
        else:
            # 如果没有注册 返回登录界面
            return render(request, 'login.html', {'text': '用户名或密码错误!'})
    # 如果不是post请求 返回登录界面
    return render(request, 'login.html')


def index(request):
    # 主页
    # 获取cookie中存储的用户名
    name = request.COOKIES.get('username')
    # 如果有
    if name:
        # 返回主页面
        return render(request,'index.html')
    else:
        # 如果没有登陆成功直接进主页,重定向,先登录去!
        return redirect('/login.html')
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处!
【重要说明】本文为本菜鸟的学习记录,论点和观点仅代表个人不代表此技术的真理,目的是学习和可能成为向别人分享的经验,因此有错误会虚心接受改正,但不代表此时博文无误!
【博客园地址】JayveeWong: http://www.cnblogs.com/wjw1014
【CSDN地址】JayveeWong: https://blog.csdn.net/weixin_42776111
【Gitee地址】Jayvee:https://gitee.com/wjw1014
【GitHub地址】Jayvee:https://github.com/wjw1014
原文地址:https://www.cnblogs.com/wjw1014/p/8659284.html