zoukankan      html  css  js  c++  java
  • Django2.2 学习笔记1-概念篇

    一、什么是Django

      Django是由python写成的开源的web应用框架,一般用于开发管理后台。

    二、MVC

      1、MVC是一种软件设计典范,用一种 业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里。

      2、核心思想:解耦

      3、编程模式:

        1)M即Model(模型):应用程序中用于处理应用程序数据逻辑的部分,通常负责在数据库中存取数据。(管理数据)

        2)V即View(视图):应用程序中处理数据现实的部分,通常依据Model(模型)数据创建。(展示数据)

        3)C即Controller(控制器):应用程序中处理用户交互的部分,通常负责从视图读取数据,控制用户输入,并向模型发送数据。(关联视图与模型)

        响应过程:用户发起请求至服务器,服务器是MVC模式,由Controller接收请求,并向Model发送数据,Model在数据库中处理好数据后返回给Controller,Controller将拿到的数据发送给  View,View将数据展示给用户。

        优点:降低了各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用。

    三、MTV

      1、本质上和MVC没有区别,也是各组件之间保持松耦合关系,只是定义上不同,可以理解为是Django的MVC

      2、编程模式:

        1)M即Model(模型):负责业务对象与数据库对象(ORM),实际上就是数据管理

        2)T即Template(模板):负责将页面展示给用户

        3)V即View(视图):负责业务逻辑,并在适当的时候调用Model和Template(相当于MVC中的Controller)

        注意:Django中还有一个url分发器,负责将一个个url的页面请求分发给不同的view处理器,view再调用相应的model和template处理

        响应过程:用户在页面输入一个url,服务器上的url分发器器接收后,匹配不同的view,view去model中取数据,view再将数据传递给template,template渲染数据形成一个完整的html页面,view再将页面返回给浏览器呈现给用户。

    四、安装

      1、前提:安装有python开发环境,我是win10+python3.7

      2、安装的Django版本需要与python版本对应

      3、安装命令:pip install Django     如果需要指定版本则 pip install Django==版本号 即可,如果不指定则默认安装

      

    五、如何创建一个Django项目

      1、进入某个路径下,创建一个文件夹,如:在E盘下,创建DjangoLearn的文件夹作为放Django项目的文件夹

      2、在DjangoLearn目录下,打开黑屏终端,输入命令:django-admin startproject 你想要取的项目名,回车,DjangoLearn下出现该名字的文件夹(注:该名字才是Django项目的名字)

        栗子:django-admin startproject DjangoProject

      3、在终端中输入:tree ./F  可以查看目录层级

      4、DjangoProject目录层级说明:

        1)manage.py  是一个命令行工具,可以通过它让我们用多种方式对Django项目进行交互

        2)DjangoProject文件夹下的文件:

          a、__init__.py   是一个空文件,目的是告诉python这个目录应该被看作一个python包

          b、settings.py  项目的配置文件

          c、urls.py   url管理器,项目的url声明

          d、wsgi.py   项目与WSGI相兼容的web服务器入口

    六、如何创建一个Django 应用

      1、在一个项目中可以创建多个应用,每个应用处理一个业务

      2、打开黑屏终端,进入创建的Django项目目录下,即DjangoProject目录下,执行命令:python manage.py startapp myApp   (注:myApp为应用名),回车,项目目录下会出现myApp目录

       3、应用数据库配置(由于我使用数据库是mysql,而Django 默认的数据库是sqlite3,所以需要配置)

        1)启动mysql服务,为项目创建要使用的数据库(如果已经有,则忽略此步骤)

    2)打开settings.py文件,找到DATABASES项,修改配置,如下:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
            'NAME': 'yxj_django',   # 你的数据库名
            'USER': 'root',
            'PASSWORD': '123456',   # 你的密码
            'HOST': 'localhost',
            'PORT': '3306'
        }
    }

    3)在项目的__init__.py中添加以下代码:

    import pymysql
    pymysql.install_as_MySQLdb()

    4、激活应用(创建完应用后是不能马上使用的,必须要激活才能使用)

    进入settings.py文件找到INSTALLED_APPS项,添加“myApp”,即你的应用名

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        # 以下为新增应用
        'myApp'
    ]

    5、定义模型

    此时的应用是没有任何数据的,所以需要添加一些数据。一个数据表对应一个模型类,类属性对应表中的字段,不需要定义主键,主键会在生成数据表时自动创建,并且值为自动增加的。

    应用目录中的models.py文件是专门用于定义模型类的文件  

    例如,我在models.py文件中创建students和grades两个模型类

    class Grades(models.Model):
        # 创建模型管理器,用于与数据库交互
        objects = models.Manager()
        gname = models.CharField(max_length=20)
        gdate = models.DateTimeField()
        ggirlnum = models.IntegerField()
        gboynum = models.IntegerField()
        isDelete = models.BooleanField(default=False)
    class Students(models.Model):
        sname = models.CharField(max_length=20)
        gender = models.BooleanField(default=True)
        sage = models.IntegerField(db_column="age")
        content = models.CharField(max_length=20)
        isDelete = models.BooleanField(default=False)
        # 关联外键
        sgrade = models.ForeignKey("Grades", models.CASCADE)

    6、在数据库中生成数据表

      1)生成迁移文件:打开黑屏终端,进入DjangoProject目录下,执行命令 python manage.py makemigrations,命令执行后,会在应用目录下生成migrations目录,打开目录,会有0001_initial.py文件即迁移文件

      2)执行迁移:打开黑屏终端,进入DjangoProject目录下,执行命令python manage.py migrate   相当于执行了sql语句,创建了数据表

    3)迁移执行完成后查看数据表

    七、启动Django服务

      进入DjangoProject目录下,执行命令:python manage.py runserver

      查看服务是否启动成功:打开浏览器,输入127.0.0.1:8000

  • 相关阅读:
    javascript模块化进阶
    javascript模块化基础
    css架构探索
    javascript函数基础概念 (补充完结)
    聊聊圣杯布局
    javascript函数基础概念
    yum提示This system is not registered with RHN.RHN support will be disabled.
    Linux分区和挂载硬盘
    Thunderbird扩展
    yum install nginx
  • 原文地址:https://www.cnblogs.com/panpanda/p/14046286.html
Copyright © 2011-2022 走看看