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': '',
'USER': 'root',
'PASSWORD': '',
}
}

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')

python Django编写登录项目的更多相关文章

  1. python Django编写接口并用Jmeter测试

    一.环境准备 python3.6.7 Pycharm 二.创建项目 我这里是在Django项目中新建了个APP,目录结构如下图所示: 那么怎么在已有的Django项目中新建APP并进行配置呢: 2.1 ...

  2. 关于python怎样编写登录接口

    把今天的成果展示下,关于怎么用python编写登录接口, 要求是   1.输入用户名和密码 2.输错三次密码就锁定用户 3.认证成功后输出欢迎信息 账号文件内容如下: sanjiang sanjian ...

  3. 最新JetBrainsPyCharm自动部署Python(Django,tornado等)项目至远程服务器

    每次开发Python项目时,对于所有Python开发人员来说,最枯燥的不是修改代码,而是实时将自己的代码上传至远程服务器,进行测试或者部署,本人最初开发也是这样,通过使用Xshell 5,WinSCP ...

  4. Python Django 编写一个简易的后台管理工具3-运行项目

    编写view页面 def hello(request): return render(request,'hello.html') 编写html页面 <!DOCTYPE html> < ...

  5. Python Django 编写一个简易的后台管理工具2-创建项目

    django-admin 创建项目 pycharm 创建项目

  6. Python之编写登录接口

    作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 帐号文件account.txt内容如下: liuyueming 123zhangsan 123lisi 123 锁文件acc ...

  7. Python Django 之 登录页面

    一.创建project与app 1.创建project与app django-admin startproject mysite_login python manage.py startapp log ...

  8. Python Django 编写一个简易的后台管理工具1-安装环境

    安装python环境 MAC 一般都会自带 Python2.x版本 的环境,你也可以在链接 https://www.python.org/downloads/mac-osx/ 上下载最新版安装. 安装 ...

  9. Python Django 编写一个简易的后台管理工具4-添加admin模版

    导入admin后台模版 可以在网上任意搜索模版,我这里也提供一个地址github 拷贝admin后台的html文件至项目的templates文件夹 创建static文件夹,将admin后台的js,im ...

随机推荐

  1. 正向代理 forward proxy、反向代理 reverse proxy、透明代理 transparent proxy nginx反向代理原理和配置讲解 防止外部客户机获取内部内容服务器的重定向 URL 缓存命中

    [大型网站技术实践]初级篇:借助Nginx搭建反向代理服务器 - Edison Chou - 博客园http://www.cnblogs.com/edisonchou/p/4126742.html 图 ...

  2. django中admin的使用

    转载网址:https://www.cnblogs.com/wumingxiaoyao/p/6928297.html     Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理 ...

  3. 【Fiddler】杂乱基础学习

    1.过滤fiddler筛选 打开fiddler>Tools>Fiddler Options>HTTPS>...from remote clients only,勾选这个选项就可 ...

  4. python中计算程序用时的方法

    import time start = time.clock() ...... end = time.clock() print(end - start)

  5. 学习Spark2.0中的Structured Streaming(一)

    转载自:http://lxw1234.com/archives/2016/10/772.htm Spark2.0新增了Structured Streaming,它是基于SparkSQL构建的可扩展和容 ...

  6. [py]函数中yield多次返回,延迟计算特性-杨辉三角

    搞清什么是杨辉三角 每行是一个数组, 第一行: [1] 第二行: [1, 1] 第三行: [1, 2, 2, 1] ... 画的好看点就是,不过没啥卵用 1 / \ 1 1 / \ / \ 1 2 1 ...

  7. POJ:2049Finding Nemo(bfs+优先队列)

    http://poj.org/problem?id=2049 Description Nemo is a naughty boy. One day he went into the deep sea ...

  8. Knight Moves(hdu1372 bfs模板题)

    http://acm.hdu.edu.cn/showproblem.php?pid=1372 Knight Moves Time Limit: 2000/1000 MS (Java/Others)   ...

  9. 使用 Mirantis Fuel9.0 部署 OpenStack M

    Mirantis Fuel 9 可以实现部署OpenStack M版本web化,管理员只需简单规划就能部署复杂的openstack 组件 安装Fuel9.0 下载官方IOS镜像 https://www ...

  10. Summary: Java Inheritance

    In this tutorial we will discuss about the inheritance in Java. The most fundamental element of Java ...