zoukankan      html  css  js  c++  java
  • 59 Django基础三件套 , 模板{{}}语言 , 程序连mysql Django项目app Django中ORM的使用

    主要内容:https://www.cnblogs.com/liwenzhou/p/8688919.html

    1 form表单中提交数据的三要素

      a : form标签必须要有action和method的属性

      b : 所有获取用户输入的标签必须放在form表单里,也必须要有那么name属性.因为往后端提交数据的时候name所对应的是关键字, input输入的值为value.在后端显示为字典的模式, 如果不写name关键字,则取不到值.

      c : 必须要有submit按钮.

    2 Django 基础三件套

      from Django.shortcuts import HttpResponse, render, redirect

        a. HttpResponse ('ok')          返回一个指定的字符串(把字符串的ok转换成二进制, 然后按照http的响应格式返回)

        b. render (requst, 'login.html')                                             返回一个html文件(打开html文件,读取内容,按照响应格式返回)

              render(request, 'login.html', {'key':'value'})               打开html文件,读取内容,替换特殊符号,按响应格式返回

        c. redirect ('/index/')                                                             跳转一个页面(redirect('/index/'))

           redirect('http://luffycity.com')                                   让浏览器访问我指定的网址     

        

    3 request 相关的属性

       request.method               返回的是请求的方法(全大写):  GET/POST

       request.GET                    取的是url里面的参数,类似于字典的数据结构

       request.POST                  post提交的数据, 类似于字典的数据结构

    4 Django的模板语言

      {{变量名}}

    <div class="form-group">
                        <div class="col-sm-9">
                            <button type="submit" id="b1" class="btn btn-block btn-primary">登录</button>
                            <p style="color: indianred;">{{ error_msg }}</p>
                        </div>
                    </div>
    

    5 程序连mysql

      a : 使用pyMmysql模块

        导入pymysql模块----> 创建连接-------> 获取执行命令的游标------>用游标去执行sql语句--->获取sql语句的执行结果------> 关闭游标 -------> 关闭连接

      b : 创 建一种工具  可帮助翻译sql语句 ---> ORM(object Relationship Mapping )对象关系映射. 

        优点: 开发效率高,  开发不用直接写sql语句

        缺点: 执行效率低

      c : ORM 与 mysqldb的关系

        类       --------   数据表

        属性   --------   字段

        对象   --------   数据行

    6 Django项目app: 项目中又分了一级python包, 不同的功能放在不同的包里面

      1 创建app:  python manage.py startapp01

      2 告诉Django创建了一个app:在setting.py找INSTALL_APPS中添加新创建的app

        'app01.apps.App01Config',

      3  Django中ORM的使用:

        用处: 操作数据表, 操作数据行

        使用:

          1 手动创建一个数据库:   create  database  数据库名字

          2 告诉django连那个数据库:

            在setting配置文件中设置

    DATABASES = {
    			'default': {
    			      'ENGINE': 'django.db.backends.mysql',  # 连接数据库的类型
    				  'NAME': 'mysite',  # 数据库名
    				  'HOST': '127.0.0.1',  # 数据库主机地址
    				  'PORT': 3306,  # 数据库的端口
    				  'USER': 'root',
    				  'PASSWORD': '',
    					}
    

        3 用什么连接数据库:

          利用第三方的包, 比如第三方包: pymysql和MYSQLdb

          告诉Django用的pymysql模块代替默认的MYSQLdb去连接数据库,方法: 修改和setting同级的__init__.py文件,写上

    import pymysql
    pymysql.install_as_MySQLdb()
    

        4 在app/models.py的文件中创建类

          类必须继承models.Model

    from django.db import models
    
    # Create your models here.
    class User(models.Model):
        id = models.AutoField(primary_key=True)  # 创建一个自增的id作为主键
        email = models.CharField(max_length=24)   #---> varchar(24)
        pwd = models.CharField(max_length=16)
    

        5 另外的两个命令:

    1. python manage.py makemigrations   --> 找个小本本把models.py的变更记录一下
    2  python manage.py migrate          --> 把上面的变更记录翻译成SQL语句,去数据库执行
    		
    

      

  • 相关阅读:
    Angular常用VSCode插件
    asp.net MVC设计模式中使用iTextSharp实现html字符串生成PDF文件
    Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日志
    强烈推荐这本书《编码:隐匿在计算机软硬件背后的语言》
    frp 内网穿透访问内网Web服务
    代码玄学——镇代码的注释
    C#基础之多线程与异步
    C#基础之事件(1)
    WPF之Unity与ServiceLocator运用
    WPF之实现控件内容拖动
  • 原文地址:https://www.cnblogs.com/gyh412724/p/9708666.html
Copyright © 2011-2022 走看看