zoukankan      html  css  js  c++  java
  • 【01】Django框架:开发环境

    一、Django框架

    1.MVC

      大部分开发语言中都有MVC框架,MVC框架的核心思想是解耦,降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用。
      ①M表示model,主要用于对数据库层的封装。
      ②V表示view,用于向用户展示结果。
      ③C表示controller,是核心,用于处理请求、获取数据、返回结果。

    2.MVT

      Django是一款python的web开发框架,与MVC有所不同,属于MVT框架。
      ①m表示model,负责与数据库交互。
      ②v表示view,是核心,负责接收请求、获取数据、返回结果。
      ③t表示template,负责呈现内容到浏览器。

    二、建立开发环境

    1.下载virtualenv

    sudo apt-get install python-virtualenv 
    # 或者 
    sudo pip install virtualenv

      然后建立一个测试目录:

    mkdir testvirtual
    cd testvirtual

      然后创建一个虚拟环境:

    virtualenv env1

      cd切换到该目录下,执行命令:

    source bin/activate

    2.安装django

      ①pip install django==版本号。
      ②查看版本:进入python shell,运行如下代码。

    import django
    django.get_version()

      说明:使用pip install django命令进行安装时,会自动删除旧版本,再安装新版本。

    3.创建项目

      1) 命令

    django-admin startproject 项目名

      2) 目录说明

      manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互。
      内层的目录:项目的真正的Python包。
        _init _.py:一个空文件,它告诉Python这个目录应该被看做一个Python包。
        settings.py:项目的配置。
        urls.py:项目的URL声明。
        wsgi.py:项目与WSGI兼容的Web服务器入口。

    4.ORM简介

      MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库。ORM是“对象-关系-映射”的简称,主要任务是:
      ①根据对象的类型生成表结构。
      ②将对象、列表的操作,转换为sql语句。
      ③将sql查询到的结果转换为对象、列表。
      这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动,Django中的模型还包含存储数据的字段和约束,对应着数据库中唯一的表。

    5.数据库配置

      在settings.py文件中,通过DATABASES项进行数据库设置,django支持的数据库包括:sqlite、mysql等主流数据库,默认使用SQLite数据库。

    6.使用MySQL数据库

      1) 在虚拟环境中安装mysql包

    pip install mysql-python
    pip install pymysql

      2) 在mysql中创建数据库

    create databases 项目名 charset=utf8;

      3) 打开settings.py文件,修改DATABASES项

    DATABASES = {
        'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME': 'test2',
           'USER': '用户名',
           'PASSWORD': '密码',
           'HOST': '数据库服务器ip,本地可以使用localhost',
           'PORT': '端口,默认为3306',
        }
    }
  • 相关阅读:
    牛客网 剑指Offer JZ16 合并两个排序的链表
    牛客网 剑指Offer JZ15 反转链表
    牛客网 剑指Offer JZ14 链表中倒数最后k个结点
    牛客网 剑指Offer JZ12 数值的整数次方 经典快速幂
    牛客网 剑指offer-JZ10 矩形覆盖
    牛客网 剑指offer-JZ9 跳台阶扩展问题
    牛客网 剑指offer-JZ8 跳台阶
    牛客网 剑指offer-JZ7 斐波那契数列
    牛客网 剑指offer-JZ6 旋转数组的最小数字
    codility_ BinaryGap
  • 原文地址:https://www.cnblogs.com/djcoder/p/12906036.html
Copyright © 2011-2022 走看看