zoukankan      html  css  js  c++  java
  • django总结 --》内容(django建project开始的大致流程、ORM简介)

    1 安装:

      pip  install django==1.11.9

    另外:在pycharm中安装 django,在下图中七步走

    2. 新建Django项目
       django-admin startproject 项目名

    3. Django 设置 settings.py文件中
      1. 注释掉 csrf相关的那一行(大概是46行!)
      2. 配置html文件相关
      3. 配置静态文件相关 /static/

    4. 基础必备的三件套
      1. HttpResponse --> 字符串
      2. render() --> HTML文件 --> 打开HTML文件并且完成字符串的替换
      3. redirect(“/book_list/”) --> 跳转


    5. HTML页面中form表单提交数据三个要点:
      1. input一定要放在form表单里面,并且 input 要有name属性
      2. form表单里面触发提交操作 一定要有submit按钮!!! <input type="submit" value="提交">
      3. 要指定form表单提交的URL(action属性) 并且指定提交的方法(method属性)

    Django中操作MySQL数据库的准备工作:
      1. 自己用SQL语句建个数据库 --> create database s20;
      2. 告诉Django去哪儿连数据库
        在settings.py文件中设置:
        DATABASES = {
          'default': {
          'ENGINE': 'django.db.backends.mysql', # 告诉Django连接数据库的类型
          'NAME': 's20',
          'HOST': "127.0.0.1",
          'PORT': 3306, # 不要加引号
          'USER': "root",
          "PASSWORD": "123456", # 要加引号
          }
        }
      3. MySQLdb、pymysql,告诉Django使用pymysql连接MySQL数据库

      project/__init__.py文件中:
      import pymysql
      pymysql.install_as_MySQLdb()

    4. 在app/models.py文件中,根据特定的语法 创建类
      class Book(models.Model):
      # 定义一个自增的ID主键
      id = models.AutoField(primary_key=True)
      # 定义一个最大长度为32的varchar字段
      title = models.CharField(max_length=32)

    5. 执行两个命令
      1. python manage.py makemigrations --> 记录 app/models.py文件的任何改动
      2. python manage.py migrate --> 把上面的改动翻译成SQL语句,然后去数据库中执行

    对数据的增删改查

            1. 增
                Book.objects.create(title="书名",....)
            2. 删
                models.Book.objects.get(id=2).delete()
            3. 改
                obj = models.Book.objects.get(id=1)
                obj.title = "字段2"
                obj.save()   --> 把改动同步到数据库中!!!
            4. 查
                查单个:
                    obj = models.Book.objects.get(id=1)
                    
                查所有:
                    objs = models.Book.objects.all()

     django的模型层 -ORM简介

    ORM,全称是object relation mapping 对象关系映射

    主要学习的是Mysql

    在py文件中可以使用pymysql来操作mysql

    ORM的映射关系如下

              ORM引擎
    python ---------------> sql
    
    类名                        表名
    属性变量                    字段
    属性值                      约束条件
    
    对象                        一条记录

    ORM的特点

    1 符合python语法
    2 自己写的sql语句,效率不高。
    3 将用户的sql转换成mysql的相关语句,需要一个翻译的过程

     想要查看ORM的命令转换可以在settings下面加入

    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'handlers': {
            'console':{
                'level':'DEBUG',
                'class':'logging.StreamHandler',
            },
        },
        'loggers': {
            'django.db.backends': {
                'handlers': ['console'],
                'propagate': True,
                'level':'DEBUG',
            },
        }
    }

    使用命令 

    python manage.py makemigrations

    python manage.py migrate

    就可以看到命令的详细转换了

  • 相关阅读:
    Interop.SQLDMO组件无法连接SQL2008
    关于数据连接配置connectionStrings的写法
    SQL锁表语句 (转摘)
    从思想到命运
    CIO:2013年OA选型六步走(摘)
    JS SCRIPT Confirm
    Silverlight 2 RTW中ToolTipService.ToolTip不继承父节点的DataContext的问题
    在Silverlight里实现类似WPF的UniformGrid
    尝试通过HttpWebRequest向TAOBAO批量发布商品及上传图片
    简单探照灯遮照效果的几个Silverlight程序(Silverlight 2.0)
  • 原文地址:https://www.cnblogs.com/mmyy-blog/p/9760885.html
Copyright © 2011-2022 走看看