App

创建一个app :

python manage.py startapp app名称

注册:

 INSTALLED_APPS = [
  'app01',
     'app01.apps.App01Config'   # 推荐写法
 ]

form表单提交数据:

  1. form的属性 method='post' action='地址'

  2. input框要有name属性 option要有value值

  3. 要有一个button按钮或者 input type=‘submit’

提交POST请求注释一个中间件

 MIDDLEWARE = [
   
     # 'django.middleware.csrf.CsrfViewMiddleware',   # 注释掉可以提交post请求
   
 ]

ORM

对象关系映射

Django使用MySQL数据库的流程:

  1. 创建一个MySQL数据库;

  2. 配置settings

     DATABASES = {
         'default': {
             'ENGINE': 'django.db.backends.mysql',
             'NAME': 'day43',
             'HOST': '127.0.0.1',
             'PORT': 3306,
             'USER': 'root',
             'PASSWORD': '123',
        }
     }
  3. 替换模块

     import pymysql
     pymysql.install_as_MySQLdb()
  4. 创建表

     class User(models.Model):
         username = models.CharField(max_length=32)  # varchar(32)
         password = models.CharField(max_length=32)  # varchar(32)
  5. 执行数据库迁移的命令

    python manage.py makemigrations # 制作迁移文件

    python manage.py migrate # 执行SQL语句 同步迁移

ORM的操作:

all

 models.User.objects.all()  # 获取所有的数据

get

 models.User.objects.get(password='dsb')  # 对象 特点 获取不到或者获取到多个都报错

filter

 models.User.objects.filter(password='dsb')   # 对象列表

create

 obj = models.Publisher.objects.create(name=pub_name)

delete

 models.Publisher.objects.filter(pk=pk).delete()  # 对象列表
 models.Publisher.objects.get(pk=pk).delete()  # 对象

更新

 obj.name = pub_name  # 内存中修改属性
 obj.save()   # 提交保存
 
 models.Publisher.objects.filter(pk=pk).update(name=pub_name)

 

12-17 23:19