注:

  电脑为Mac,Python解释器为3.5.4

  数据库使用的是pymysql模块代替mysqldb

功能:

  运行服务器,在login登录界面输入用户名和密码,post到服务器,

  通过数据库判断用户名和密码是否正确。

前期准备工作:

step1:

  新建一个Django项目,并为你的APP取贴合实际功能的名字:

填写好后,选择create

step2:

  在根目录下新建一个static文件,里面放css js image plugins,这是网页的一些样式和插件

step3:

新建好了以后,将setting.py文件中最后加入:

STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"), # 静态文件存放位置
]

并将标红的那句话暂时注释

step5:

提前在Python解释器中下载好pymysql

将与项目同名的文件夹下的__init__.py文件下加入:

import pymysql
pymysql.install_as_MySQLdb()

step6:

将setting.py文件下 的 DATABASES 字段改成:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '', #数据库名称
'USER':'', #用户名
'PASSWORD':'', #密码
'HOST':'127.0.0.1', # 主机名
'POST':3306, #端口号
}
}

项目相关代码:

有关登录页面:

login.html文件写在:templates文件下

login.html

sign.css文件写在static/css文件下:

body {
padding-top: 40px;
padding-bottom: 40px;
background-color: #eee;
} .form-signin {
max-width: 330px;
padding: 15px;
margin: 0 auto;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
margin-bottom: 10px;
}
.form-signin .checkbox {
font-weight: normal;
}
.form-signin .form-control {
position: relative;
height: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
font-size: 16px;
}
.form-signin .form-control:focus {
z-index: 2;
}
.form-signin input[type="email"] {
margin-bottom: -1px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
margin-bottom: 10px;
border-top-left-radius: 0;
border-top-right-radius: 0;
}

sign.css

有关数据库:

在APP名字下面models文件中:

from django.db import models

# Create your models here.
class Userinfo(models.Model):
user = models.CharField(max_length=32)
pwd = models.CharField(max_length=32)

models

使用Tools下的 Run Manage.py Task

打开后依次输入命令:

makemigrations
migrate

如果一切OK的话,就会看到存在一个APP名字开头的表:

在表里添加一些数据用于验证登录信息

验证部分:

在APP名字下的views文件中写入:

from django.shortcuts import HttpResponse,render,redirect
from login_in import models def index(request):
return render(request,'index.html') def login(request):
if request.method == 'POST':
# 取出输入的用户名和密码
user = request.POST.get('user')
pwd = request.POST.get('pwd')
# 从数据库中取出所有数据,进行登录校验
all = models.Userinfo.objects.all()
for mes in all:
if user == mes.user and pwd == mes.pwd:
return HttpResponse('success')
else:
return HttpResponse('fail')
return render(request,'login.html')

views文件

在urls文件中:

from login_in import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^login/',views.login),
]

有关Django的smallDemo的更多相关文章

  1. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  2. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  3. django server之间通过remote user 相互调用

    首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...

  4. Mysql事务探索及其在Django中的实践(二)

    继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...

  5. Mysql事务探索及其在Django中的实践(一)

    前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...

  6. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  7. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...

  8. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  9. Django

    一.Django 简介 Django 是一个由 Python 写成的开放源代码的 Web 应用框架.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统) ...

随机推荐

  1. [转帖]oracle补丁类型

    oracle补丁类型 https://www.cnblogs.com/liang545621/p/9417919.html 介绍挺好的 跟现在的也比较类似呢.   名称 说明 Release ¤ 标准 ...

  2. 【转帖】docker 如何删除none镜像

    https://blog.csdn.net/hicoldcat/article/details/80802447 shell 命令博大精深 需要仔细学习 删除none的镜像,要先删除镜像中的容器.要删 ...

  3. spring boot配置文件application.properties配置JPA以及数据源

    1.application.properties配置jpa模板 spring.datasource.url=jdbc:mysql://localhost:3306/springboottest?use ...

  4. 20 闭包、nonlocal

    闭包的概念 闭包就是能够读取其他函数内部变量的函数. 从模块级别调用函数内部的局部变量. 闭包 = 函数+环境变量(函数外部的变量) 闭包存在的条件 闭包必须返回一个函数 被返回的函数必须调用环境变量 ...

  5. hadoop 空间配置

    hadoop-------------- 分布式计算框架. common // hdfs //存储 mapreduce //MR,编程模型. yarn //资源调度. 集群部署----------- ...

  6. 在论坛中出现的比较难的sql问题:17(字符分拆2)

    原文:在论坛中出现的比较难的sql问题:17(字符分拆2) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必要记录下来 ...

  7. pfSense QoS IDS

    pfSense QoS IDS 来源 https://blanboom.org/2018/pfsense-setup/ 之前我使用的无线路由器是 RT1900ac,其内置了 QoS 和 IDS/IPS ...

  8. robot framework 接口测试 http协议post请求json格式

    robot framework 接口测试 http协议post请求json格式 讲解一个基础版本.注意区分url地址和uri地址. rf和jmeter在添加服务器地址也就是ip地址的时候,只能url地 ...

  9. 数据结构之链表(LinkedList)(三)

    数据结构之链表(LinkedList)(二) 环形链表 顾名思义 环形列表是一个首尾相连的环形链表 示意图 循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活. 看一 ...

  10. IE hack大全

    IE hack大全:http://blog.csdn.net/freshlover/article/details/12132801