Django基础知识点
HTTP协议:
请求方式:
有8种分别是GET POST DELTE PUT OPTIONS HEAD
状态码:
2xx 200 OK
3xx 重定向
4xx 请求的错误
5xx 服务器的错误
其他具体的可参照http://tool.oschina.net/commons?type=5
浏览器发送请求接收响应的流程:
1. 在浏览器的地址栏中输入URL,回车。 发送了一个GET请求。
2. 服务器接收请求,获取到路径,根据不同的路径返回不同内容
3. 服务器把响应的内容组成符合HTTP协议响应格式的字符串返回给浏览器
4. 浏览器接收到响应,拿到响应体(HTML代码),进行渲染。
web框架(socket服务端)
1. socket收发消息
2. 根据不同的路径返回不同的内容
3. 动态页面(字符串的替换 —— 模板的渲染)
django基础命令
1.下载安装 命令行: pip install django==1.11.18 -i 源 2.创建项目 命令行:django-admin startproject 项目名 3.启动 命令行: 切换到项目目录下: manage.py python manage.py runserver # 127.0.0.1:8000 python manage.py runserver 80 # 127.0.0.1:80 python manage.py runserver 0.0.0.0:0 # 0.0.0.0:80 pycharm: 点绿色三角(切记勿用右键)
4.APP
命令行:
python manage.py startapp app 名称
pycharm:
tools ——》 run manage.py task ——》 startapp app名称
注册APP
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 INSTALLED_APPS = [ 2 'django.contrib.admin', 3 'django.contrib.auth', 4 'django.contrib.contenttypes', 5 'django.contrib.sessions', 6 'django.contrib.messages', 7 'django.contrib.staticfiles', 8 'app01', 9 'app01.apps.App01Config' # 推荐写法 10 ]
连接数据库
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #在settings中设置 2 DATABASES = { 3 'default': { 4 'ENGINE': 'django.db.backends.mysql', # 引擎 5 'NAME': 'day60', # 数据库名字 6 'HOST': '127.0.0.1', # IP 7 'PORT': 3306, # 端口 8 'USER': 'root', # 用户名 9 'PASSWORD': '123', # 密码 10 } 11 } 12 #然后告诉django使用pymysql这个模块连接数据库 13 14 #在于settings.py同级目录下的init中写代码: 15 16 import pymysql 17 pymysql.install_as_MySQLdb() 18 #创建表(在app下的models.py中写类) 19 from django.db import models 20 21 class User(models.Model): 22 username = models.CharField(max_length=20) 23 password = models.CharField(max_length=20) 24 #执行数据库迁移的命令 25 26 python manage.py makemigrations # 保存models.py的变更记录 27 28 python manage.py migrate # 把变更记录同步到数据库中 29 30 #orm操作 31 32 # 获取表中的所有数据 对象列表 33 # 获取表中的所有数据 对象列表 34 ret = models.User.objects.all() 35 for i in ret: 36 print(i.username, i.password, type(i.username)) # 字段 37 38 # 获取某一条数据 39 ret = models.User.objects.get(username='alex') # 对象 40 ret = models.User.objects.get(username='alex1', password='123') # 查不到报错 41 ret = models.User.objects.get(password='123') # 查到多个也报错 42 43 # 获取满足条件的多个数据 对象列表 44 ret = models.User.objects.filter(password='123') 45 ret = models.User.objects.filter(password='1234')