zoukankan      html  css  js  c++  java
  • Django --- Django下载和APP创建 ORM (大概步骤)

    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请求

  • 相关阅读:
    2
    异常处理
    接口
    抽象与多态
    关联关系
    9-13
    数据类型转换
    Day3
    对象和类
    MyEclipse导入现成项目出现小红叉错误
  • 原文地址:https://www.cnblogs.com/liuafan/p/9601302.html
Copyright © 2011-2022 走看看