zoukankan      html  css  js  c++  java
  • django 一

    1. 用Django

    新建django项目

    django-admin startproject s10day60
    
    python3 manage.py runserver 8001
    
    python3 manage.py startapp app01
    
    

    配置Django项目

    • setting.py文件
      1. templates文件夹的位置
      2. 静态文件
        1. STATIC_URL-->静态文件夹的别名(在HTML文件中用的)
        2. STATICFILES_DIRS-->静态文件夹的真正路径
      3. 注释掉csrf相关的中间件
      4. Django项目连接数据库
    Django WEB请求流程(简版)
    1. 启动Django项目,等待用户连接
    2. 浏览器在地址烂输入URL,来连接我的Django项目
    3. 在urls.py中找路径和函数的对应关系
    4. 执行对应的函数
    
    views.py
    1. 专门用来定义处理请求的函数
        1. 基本必备三件套
            from django.shrtcuts import HttpResponse,render,redirect
            1. HttpResponse("要返回的内容")--》用于直接返回数据
            2.render(request,"html文件",{"k1":v1})-->
            返回一个HtmL文件或者打开文件进行字符串替换
            3.redirect("URL")
            告诉用户的浏览器去访问其他的URL
        2.request相关
            1.request.method    ->查看请求的方法
            2.request.POST      ->获取POST请求的数据
    
    ORM使用
    1.什么是ORM?
        是一种变成的方法论(模型),和语言无关。(其他的语言也有类似的实现)
    2.ORM的本质:
        类      --> 数据表
        对象    --> 数据行
        属性    --> 字段
    按照规定的语法写,自动翻译成对应的SQL语句
    3.ORM的功能
        ORM操作数据表
        ORM操作数据行
    4.Django里的ORM的使用
        1.手动创建数据库
        2.在setting.py里面,配置数据库的连接信息
        3.在项目/__init__.py告诉Django用pymysql模块代替MySQLdb来连接数据库
        import pymysql
        pymysql.install_as_MySQLdb()
        4.在app/models.py定义类
            # 出版社
            class Publisher(models.Model):
                id = models.AutoField(primary_key=True) # 自增的ID主键
                 # 创建一个varchar(64)的唯一不为空的字符段
                name = models.CharField(max_length=64,null=False,unique=True)
        5.执行两个命令
            1. python3 manage.py makemigrations -->
            2. python3 manage.py migrate
    
    1. form表单往后端提交数据需要注意哪三点:()
      1.form不是from,所有获取用户输入的标签都应该放在form里面
      2.action属性控制往哪提交,method一般都设置成post
      3.提交按钮必须是type=submit,不能是别的类型

    2. GET请求和POST请求
      GET请求:
      1.浏览器请求一个页面
      2.搜索引擎检索关键字的时候
      POST请求:
      1.浏览器向服务端提交数据,比如登录/注册等

    3. Django中的APP:
      project --》项目 (老男孩教育大学校)
      APP --》应用 (Linux学院/Python学院/大数据学院/Java学院)
      1.创建APP的命令

    python3 manage.py startapp app01
    
    1. ORM
    import pymysql
    pymysql.connect(
    ...
    ...
    )
    

    1.不同的程序员写的SQL水平参差不齐

    2.执行效率也参差不齐

    python语言 --自动翻译--> SQL语言

    jQuery

    $("#d1") --自动翻译--> DOM document.getElementById("d1")

    优点:
    1.简单,不用自己写SQL语句
    2.开发效率高
    
    缺点:
    1.记忆你这个特殊的语法
    2.相对于大神写的SQL语句,肯定执行效率有差距
    
    • 类 ---》 数据表
    • 对象 ---》 数据行
    • 属性 ---》 字段
    ORM能做的事:
    1.操作数据库    --》创建表/删除表/修改表
    操作models.py里面的类
    2.操作数据行    --》数据的增删改查
    不能创建数据库,自己动手创建数据库
    
    使用Django的ORM详细步骤:
    1.自己动手创建数据库
    ```
    create database 数据库名;
    ```
    2.在Django项目中设置连接数据库的相关配置(告诉Django连接哪一个数据库)
    ```
    # 数据库相关配置
    DATABASES = {
    'default': {
        # 连接的数据库类型
        'ENGINE': 'django.db.backends.mysql',
        # 连接数据库的地址
        'HOST':'127.0.0.1',
        # 端口
        'PORT':3306,
        # 数据库名称
        'NAME': "day61",
        # 用户
        'USER':'root',
        # 密码
        'PASSWORD':'root'
     }
    }
    ```
    3.告诉Django用pymysql代替默认的MySQLDB连接MySQl数据库
    在项目/__init__.py文件中,写入下面两句:
    import pymysql
    #告诉Django用pymysql来代替默认的MySQLdb
    pymysql.install_as_MySQLdb()
    4.在app下面的models.py文件中定义一个类,这个类必须继承models.Model
    class 类名(models.Model):
        ...
    5.执行两个命令
        1.python3 mange.py makemigrations
        2.python3 mange.py migrate
    大道理谁都懂,鸡汤也听过,可我们为什么还是过不好这一生。
  • 相关阅读:
    在ubuntu9中安装配置java postgresql pljava tsearch2
    Zend中配置Memcached
    PHP 截取字符串专题(转)
    网络执法官.P2P终结者等监控网络流量控制软件的原理和防范
    C++中的浮点数格式控制
    HTML教程
    网络执法官.P2P终结者等监控网络流量控制软件的原理和防范
    CodeGear RADstudio 2007+Sp3下载地址及破解
    HTML教程
    CodeGear RADstudio 2007+Sp3下载地址及破解
  • 原文地址:https://www.cnblogs.com/puqunzhu/p/9885071.html
Copyright © 2011-2022 走看看