Django

HTTP协议:

请求方式:8种;
OPTIONS:返回服务器针对特定的资源所支持的HTTP请求方法.
HEAD:向服务器索要与get请求相同的响应,只不过响应体不会返回,这个方法可以在没有必要传输整个响应内容的情况下,就可以获取包含在响应消息头中的源信息;
CONNECT:HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器
TRACE:返回显示服务器收到的请求,主要在测试用
PUT:向指定的资源位置上传最新的内容
DELETE:请求服务器删除Request-URI 所标识的资源
GET:向指定的服务器发出请求
POST:向指定的服务器 提交请求

POST请求的格式

 GET请求的格式:



 web框架

本质是:socket服务端

功能是:

  1.socket收发消息;

  2.根据不同的路径返回不同的内容

  3.动态页面--字符串的替换或是模板渲染

Django中的一些cmd命令以及一些数据库相关的命令:

创建项目:
django-admin startproject 项目名
启动项目:
Python manage.py runserver 0.0.0.0:8000 #ip和端口可以修改

创建APP:
Python manage.py startapp APP名字
创建完成之后应该在settings文件中的 INSTALLED_APPS=[app名称.apps.apps文件中的类名]注册app
连接数据库:
1.在和settings文件同级的init文件里面 写 pymysql.install_as_MYSQLdb() #告诉Django使用pymysql模块启动数据库
2.之后在settings文件里面配置数据库
3.手动创建数据库成功之后
4.在modles.py文件创建类名来给数据库创建表,属性就是对应的是数据库中的字段名.
    1创建主键:models.AutoField(primary_key=True)
    2普通字段:models.CharField(max_length=32)
5.数据库迁移命令:
    1.python manage.py makemigrations
    2.python manage.py migrate

配置:

TEMPLATES 模板配置
ENGINE: mysql
NAME: 数据库名
HOST: IP     '127.0.0.1' 
PORT : 3306
USER:  'root'
PASSWORD: ''    
STATIC_URL='/static/'  #别名

在Django中配置静态文件:

1.在settings.py文件中添加STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')]

2.在根目录下创建static文件,用于存放静态文件,(css,js,img,等文件)

3.在HTML文件里面Link文件地址用/static/别名开头

form表单:

​    1.form表单标签中含有action=""(提交的数据的地址) method = "post/get"(提交数据的方式) 

​    2.input标签要有name属性

​    3.需要有一个type=submit的input标签或者button按钮(自带提交的功能)

​    ##目前先在settings.py文件中注释MIDDLEWARE的django.middleware.csrf.CsrfViewMiddleware

​    4.在Python代码中:

​    request.method    // 获取请求的方式

​    request.POST/GET    // 获取请求的数据

​    redirect ()                      // 跳转的方式
5.GET和POST的区别:

​    GET:获取一个页面,提交的数据可见

​    POST:提交的数据 不可见
APP:
1.创建APP文件:

​        cmd命令行:Python manage.py startapp APP的名称

​        pycharm: tools->run manage.py task-->startapp app名称 / 或在创建项目的时候直接创建好
### ORM的使用:

​    Django项目中使用mysql数据库的 流程

##### 1.手动创建数据库

##### 2配置: 在settings.py文件的DATABASES中

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.py同级目录下的init中写代码:

​        import pymysql

​        pymysql.install_as_MySQLdb()

##### 4.创建表(在app下的models.py中写类)
from django.db import models

​    class User(models.Model):
            username = models.CharField(max_length=20)
​            password = models.CharField(max_length=20)    

##### 5.执行数据库的迁移命令
1.运行命令的方式:Tools->Run manage.py Task

​        1.Python manage.py makemigrations # 保存models.py的变更记录
2.Python manage.py migrate # 把变更的记录同步到数据库

##### 6.ORM的操作:

​        ret = models.User.objects.all()  // 获取所有的数据

​        ret = models.User.objects.get(username='alex') //获取一条数据 找不到时会报错

​        models.User.objects.filter(password='123') // 获取一条数据 找不到时不会报错
原文地址:https://www.cnblogs.com/changtao/p/10274118.html