1,下载:
      命令行: pip install django == 1.11.15
      pip install -i或 源 django == 1.11.15
      pycharm
      settings 解释器 点 + 号 输入django 选择版本

2,创建 Django项目
      1,命令行: (可能有的东西没配置)
          cd 保存项目的目录
          django - admin startporject 项目名
      2,pycharm(可以自己都配置好)
          filr(按钮)--> new project --选择django ---->选择解释器--创建django项目

3,启动项目
        1,命令行:
          切换到 manage.py的目录下
          cd
          python manage.py runserver #127.0.0.1:8000
          python manage.py runserver 80 #127.0.0.1:8000
          python manage.py runserver #0.0.0.1:8000
        2.pycharm
          配置项
          点绿色三角启动

4,settings配置
    1,静态文件
        STATIC_URL= "/static/" #别名 ()
        STATICFILES_DIRS = [
        os.path.join(BASE_DIR,"static"),

        ] (可以创建多个)

    2,TEMPLATES 模版 放HTML文件的地方
      DIRS [os....] 自动生成的

    3,注释 csrf中间件
      MIDDLEWARE 第四行 csrf 注释掉这一行
    4,数据库的配置

5, URL 和函数的对应关系 ---> urls.py
  urlpatterns[
    url(r"^admin/",admin.site.urls),
    url(),
  ]

6.APP
    1.创建APP
      1,命令行:
        python manage.py startapp APP名
      2,pycharm
        tools ---> run manage.py task --> startapp APP名

    2.注册APP
      在settings.py中
      INSTALLED_APPS[
      加上自己的APP名(如若pycharm创建 会自动添加 若是手动添加则按规范来
      "APP名字.apps.App01Config")

      ]

7.使用mysql数据库
    1.创建一个数据库
    2.在srttings配置:
      DATABASES = {
          'default': {
            'ENGINE': 'django.db.backends.mysql', #引擎
            ‘NAME': 'db66', #数据库名字
            "USER": "root", #账户
            "PASSWORD": "666666", #密码
            "HOST": "127.0.0.1", #IP地址
            "PORT": 3306, #端口号
          }
      }
    3.告诉Django 使用pymysql 模块连接数据库
      在settings.py 同级目录下的 __init__.py中写(下载好了 pymysql):
        import pymysql
        pymysql.install_as_MYSQLad()

    4.建表 在APP文件夹里 models.py文件中写类(继承 models.Model)
        class Userinfo(models.Model):
          user = models.CharField(max_length=32)
          pwd = models.CharField(max_length=32)

    5.执行命令 (数据库迁移命令)
      Tools ---> Run~~
          python manage.py makemigrations #记录models.py中类是不是有变化 将变化的内容记录下来 记录到了 APP文件下 migrations       0001_initial.py里面
          python manage.py migrate

8 .ORM
      对象和关系型数据库的映射 通过操作对象的方式来操作数据库

      映射关系;
      类 ---> 数据表
      对象 ---> 数据行
      属性 ---> 字段

      ORM 能做的事:
      操作数据表 (建表,删表,改表)
      操作数据行

      ORM 的操作 :
        from login import models
        # 获取所有数据
        models.Userinfo.objects.all() ---> Queryset类型
        # 获取一条数据
        models.Userinfo.objects.get(user="??",pwd="??")
        get取不到数据或者取到多条数据的时候报错
        #创建一条数据
        models.Userinfo.objects.creat(user="??",pwd="??")

        

        1.查
        from login import models
        # 获取所有数据
        models.Userinfo.objects.all() ---> Queryset类型
        models.Userinfo.objects.all().order.by('id')排序 升序

        # 获取一条数据
        models.Userinfo.objects.get(user="??",pwd="??")
        get取不到数据或者取到多条数据的时候报错

        属性:
        pub_pbj.id
        pub_obj.name
        外键:
        book_obj.id
        book_obj.title
        book_obj.publisher ---->书籍关联的出版社对象
        book_obj.publisher_id ---->书籍关联的出版社对象的id
        偶对多:
        autho_obj.id
        autho_obj.name
        autho_obj.books ----->管理对象
        autho_obj.books.all()
        2.增
        #创建一条数据
        (新变量名)=models.Userinfo.objects.creat(name="新名字")

        外键:
        models.Book.objects.creeate(title = '新的书名',publisher_pub_obj)
        models.Book.objects.create(title='新的名字',publisher_id=pub_obj.id)
        多对多:

        autho_obj=models.Author.objects.create(name='作者名字')
        authon_obj = books.set([1,2,5])

        3.删
        #删除一个
        models.Publisher.objects.get(id=1,name="xxx").delete()
        -------------------------------------------------------

        models.Publisher.objects.all().delete()

        4,改
        #普通修改
        pub_obj.name = '新的名字'
        pub_obj.save()
        -----------------------------------------------------------
        book_obj.title = '新的书名'
        book_obj.publisher = pub_obj

        book_obj.save()

9.form表单

      1.method ="post" (form表单里面 必须带有这个) action="" ,这是请求方式 和提交数据的地址
      2.所有的 input标签要有name属性, name的名字要和 上面ORM 的user pwd 相同
      3.有一个input 的type="submit" 或者有一个button 按钮 就可以提交form表单

10. views.py 写函数
      request 跟请求相关的内容
      request.method 字符串 请求方式 GET/POST
      request.POST post请求提交的数据 字典
      request.GET get请求提交的数据

    返回值
      from django.shortcuts import HttpResponse,render,redirect

      HttpResponse("字符串") -->页面显示的就是字符串
      render(request,"模版文件的名字") -->渲染你的HTML文件返回给浏览器
      redirect("/要跳转的URL/") --->重定向 告诉浏览器再向浏览器发次GET请求

Django --- Django下载和APP创建 ORM (大概步骤)的更多相关文章

  1. Django ----- app 和 ORM的操作和介绍

    创建APP ORM 介绍 ORM的操作 说明一下 GET 和 POST 的区别: , GET ①获取一个页面 ②提交数据 数据显示在URL ?user=alex&pwd=alexdsb ,PO ...

  2. Django的下载与项目的创建

    一.Django的下载安装 Django官网下载页面 二.DOS窗口下的django项目从创建和启动 1. DOS窗口下载Django pip3 install django==1.11.9 2.DO ...

  3. Django的下载与创建。

    一.下载 (1)下载命令. 在cmd中输入下载命令: pip3 install django==1.11.11 1.11.11是该版本号. (2)pycharm中下载 直接在pycharm中下载set ...

  4. Django学习笔记(二)App创建之Model

    通过实例学习, 构建一个投票(Polls)Application, 目标结果包含两个site, 一个site用来显示投票问题以及投票结果(即将展示出来的网站), 另一个site用来管理Poll实例的增 ...

  5. dya49:django:wsgrief&模板渲染Jinjia2&django的MTV/MVC框架&创建/启动一个django项目

    目录 1.自定义web框架wsgiref版 2.自定义web框架wsgiref版-优化版 3.模板渲染JinJa2 4.MTV和MVC框架 5.django:下载安装&创建启动 自定义web框 ...

  6. django的下载安装,目录结构的介绍,简单的django应用

    1.django的下载安装 pip3 install django==1.11.9 2.django的创建 1.在windows的cmd窗口下 1.1创建django项目 django-admin s ...

  7. win7下,使用django运行django-admin.py无法创建网站

    安装django的步骤: 1.安装python,选择默认安装在c盘即可.设置环境变量path,值添加python的安装路径. 2.下载ez_setup.py,下载地址:http://peak.tele ...

  8. 测试开发之Django——No2.Django的安装以及项目创建

    开发平台:Mac Python版本:3.7 Django版本:2.0.5 一.Django的安装 1.pip安装 输入命令pip install Django==2.0.5 说明:不指定版本,则安装的 ...

  9. Python菜鸟之路:Django 路由、模板、Model(ORM)

    Django路由系统 Django的路由系统让Django可以根据URI进行匹配,进而发送至特定的函数去处理用户请求.有点类似nginx的location功能. Django的路由关系分为三种:普通关 ...

随机推荐

  1. C#给字符串赋予字面值——字符串插入、转义序列的使用

    1.占位符.字符串插入 给字符串赋予字面值时,经常遇见在字符串中包含变量的情况,用连接符进行拼接.转换的方式比较麻烦.还容易出错.C#提供了较为便捷的处理方式,即‘占位符’,以及C#6的新功能‘插入字 ...

  2. 2017年末大总结(by一个软件开发实习生)

    时间本是一条连续不断的河流,我们却生造出了一些有头有尾的节点,不知道是不是为了增加一点仪式感呢. 今年最大的变化就是学会了java并找到一份了实习,很幸运能进入这个行业,做一份热爱的工作.从开始自学编 ...

  3. 微信小程序之初探(常见语法 VS vue)常见问题(点击不生效,数据绑定)

    最近在调研微信小程序开发,对于一个前端小白来说,在各种框架都还用不熟的情况下,再来开发小程序确实还是不容易. 小程序出来之初,听过演讲,看过一点点儿视频,感觉和angular语法有点相似(PS:那是也 ...

  4. BZOJ3236[Ahoi2013]作业——莫队+树状数组/莫队+分块

    题目描述 输入 输出 样例输入 3 4 1 2 2 1 2 1 3 1 2 1 1 1 3 1 3 2 3 2 3 样例输出 2 2 1 1 3 2 2 1 提示 N=100000,M=1000000 ...

  5. P1438 无聊的数列 (差分+线段树)

    题目 P1438 无聊的数列 解析: 先考虑修改,用差分的基本思想,左端点加上首项\(k\),修改区间\((l,r]\)内每个数的差分数组都加上公差\(d\),最后的\(r+1\)再减去\(k+(r- ...

  6. Codeforces Round #543

    (比赛链接)[http://codeforces.com/contest/1120] A 给出一个长度为m的序列a 可以删除一些数 使得最后从没删的第一个数开始 每k个一截 截出的n个多重集合中 至少 ...

  7. Kafka分区分配策略(Partition Assignment Strategy

    问题 用过 Kafka 的同学用过都知道,每个 Topic 一般会有很多个 partitions.为了使得我们能够及时消费消息,我们也可能会启动多个 Consumer 去消费,而每个 Consumer ...

  8. Java Web乱码原因与解决

    Java Web乱码原因与解决 一.了解编码常识: 1.ASCII 码 众所周知,这是最简单的编码.它总共可以表示128个字符,0~31是控制字符如换行.回车.删 除等,32~126是打印字符,可以通 ...

  9. 怎么添加在安装好的nvidia-docker上面根据Dockerfile构建自己所需要的运行环境

    在已经创建好nvidia-docker环境之后,对于新手小白来说,又有一个问题了,就是如何根据Dockerfile来构建试验所需要的docker环境 主要是以下几个步骤 首先创建一个mydocker文 ...

  10. rs(0)与rs("字段名")的区别

    rs(0)与rs("字段名")的区别    注意:rs是RecordSet对象 前者是按sqlyu语句读出来的记录急的先后顺序命名的,         rs(0)就是你select ...