Django 应用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> #引入静态文件夹下的bootstrap css样式 <link rel="stylesheet" href="/static/plugins/bootstrap-3.3.7/css/bootstrap.css"> #引入静态文件夹下的自定义css样式 <link rel="stylesheet" href="/static/css/login.css"> </head> <body> <div class="container"> <form class="form-signin"> <h2 class="form-signin-heading">Please sign in</h2> <label for="inputEmail" class="sr-only">Email address</label> <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required="" autofocus=""> <label for="inputPassword" class="sr-only">Password</label> <input type="password" id="inputPassword" class="form-control" placeholder="Password" required=""> <div class="checkbox"> <label> <input type="checkbox" value="remember-me"> Remember me </label> </div> <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button> </form> </div> <!-- /container --> </body> </html>
项目目录结构
ORM (object relational mapping) 对象关系映射
---------------------------------------------------
class --> object --> 属性/方法 ORM
table --> 一行 --> 字段数据 DB
---------------------------------------------------
优点: 专注 逻辑处理,提高开发效率.
缺点: 没规定的完成不了需求,牺牲一定执行效率,sql语句退化能力
---------------------------------------------------
方便web 开发加快速度.
**** 连接数据库 校验账户密码 完了跳转页面 ****
1 创建数据库
2 做配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 改引擎
'NAME': 'day60', #数据库名字
'HOST':'127.0.0.1', #IP
'PORT':3306, #端口
'USER':'root', #用户名
'PASSWORD':'123' # 空字符串'' 密码
}
}
3 告诉Django 使用pymysql连接数据库
settings 同级下的 _init_ 文件里 固定写法
import pymysql
pymysql.install_as_MySQLdb() #替换
4 建表
app --> models.py -->写类
from django.db import models
class User(models.Model):
user = models.CharField(max_length=20) #最大长度
pwd = models.CharField(max_length=20)
5 执行数据库迁移命令
Terminal 命令行
python manage.py makemigrations #保存models的变更记录
python manage.py migrate # 变更记录同步到数据库中
6 查询数据 ret = models.User.objects.all() # 获取 表 所有, 对象列表 对象属性 拿到字段数据 -----------------------------------------------------from django.shortcuts import render, HttpResponse, redirect # ORM测试 def test(request): ret = models.User.objects.all() # 获取到所有的数据 print(ret,type(ret)) # for i in ret: # print(i,type(i)) # print(i.user, i.pwd, type(i.user)) # 获取某一条数据 # ret = models.User.objects.get(user='alex') # 对象 # ret = models.User.objects.get(user='alex',pwd='123') # 对象 # ret = models.User.objects.get(user='alex1', pwd='123')# 查不到报错 # ret = models.User.objects.get(pwd='123') # 查到多个也报错 # 获取满足条件的多个数据 对象列表 ret = models.User.objects.filter(pwd='123') # 返回多条记录 <QuerySet [<User: alex>, <User: zc>]> # ret = models.User.objects.filter(pwd='1234') # 返回空列表 <QuerySet []> print(ret) return HttpResponse('ok')