django(2)
web框架的本质:
1,socket的接收发信息
2,url和函数的对应关系
3,模板渲染(字符串的替换)
一个请求的完整的流程
1,web服务要启动,等待连接
2,在浏览器地址中输入url,回车 .向服务器发送一个遵循http协议的get请求
3,服务器收到消息,按照http协议去解析请求,拿到url,在找到对应的函数
4,函数中处理html代码,进行字符串的替换,拿到一个新的字符串
5,服务器把响应体按照http响应的格式组装起来返回给浏览器
6,浏览器接收到数据,拿到响应体渲染
7,断开连接
django相关下载
pip install -i https://pypi.doubanio.com/simple/ django==1.11.15
登录表单提交数据注意事项:
1,input 标签有name属性
2,action = ""method = 'post' 提交的地方 提交的方式
3,有一个input的type='submit' 或者有一个button按钮
其他注意事项:
1,将逻辑的单独摘摘出来单独分配文件,注意在urls中也要添加 from引入 base_dir添加
2,需要修改:settings中的
MIDDLEWARE:带有csrf 引掉
3,在html中直接使用static来引入
get 和post 的区别
1,get:
获取一个页面
提交数据 数据显示在url ?user=ln&pwd=123 没有加密作用
2,post
from表单提交数据 数据不显示
app的要求:
1创建app
1,在创建html中
1,进入到pycharm中的cmd 执行python manage.py startapp 名字
admin django自己的管理后台
apps.py 和app相关
models.py 和orm相关
text 测试
views 函数
2,通过pycharm创建tools run mange
直接写startapp 名字
3,在创建项目时就可以创建:直接加入
2,app中views写函数,在父文件urls中导入 并且 在下边的url中 views.login
使用mysql数据库的配置:
1. DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 引擎
'NAME': 'day66', # 数据库名
'USER':'root', # 用户名
'PASSWORD':'', # 密码
'HOST':'127.0.0.1', # IP
'PORT': 3306, # 端口号
}
}
2,在settings同级目录下的__innt__写入
import pymysql
pymysql.install_as_MySQLdb()
3,创建表:
在models.py中写类
class Userinfo(model.Model)
user = models.CharField(max_length=32) #相当于varchar
pwd = models.CharField(amx_length=32)
4,执行两条命令
python manage.py makemigrations login 把models.py的变化记录下来
python manage.py migrate 去修改你的数据库
5orm操作
from login import models
1,获取数据的所有内容:
all = models.Userinfo.object.all() 表
first = all[0] 行
frist.id 字段
2,获取一条数据
models.Userinfo.object.get(user='alex')
3,向数据库插入一条数据:
models.Userinfo.objects.create(user='alex',pwd='123')