一、MVC模式

MVC(Model-View-Controller),中文名“模型-视图-控制器”,是一个好的Web应用开发所遵循的模式,它有利于把Web应用的代码分解为易于管理的功能模块。

M:Model是用来传给View的,View在替换变量的时候,可以从Model中取出相应的数据。

V:View负责显示逻辑,是包含变量的模板,通过简单地替换一些变量,View最终输出的就是用户看到的HTML;

C:Controller负责业务逻辑,将Web应用'粘合'在一起,比如检查用户名是否存在,取出用户信息等,是Python处理URL的函数;

关系图:

流程:

1、用户发起请求;

2、请求转发给controller,controller将请求分发给对应的视图函数;

3、视图函数请求Model获取对应的data;

4、通过View进行渲染HTML模板;

5、返回内容给用户

 Django中使用的MTV模式,基本上类似。

  • Model(模型):负责业务对象与数据库的对象(ORM)
  • Template(模板):负责如何把页面展示给用户(HTML)
  • View(视图):负责业务逻辑,并在适当的时候调用Model和Template
  • 此外,Django专门有一个url分发器,它的作用是将一个个URL的请求分发给不同的view处理,view再返回相应的Model和Template的结果。

二、Django流程

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

1、安装

安装之前,要选择好对应的版本:

由于目前我们主要使用py2.7居多,但是考虑到以后要兼容py3,所以这里选项安装Django 1.11版本。

pip  install django

  

2、设置环境变量

环境变量设置好了以后,就可以在任意位置执行django相关的命令了。

3、创建项目(project),一个工程,工程下面可以有多个应用

我这里直接在virtual里面创建,这样不会把正式环境的环境破坏。且最新的pycharm也给你安装了一个venv环境,可以直接使用。

setttings:全局设置,包括:app、middleware、urlconf、template、statics等设置;

urls:设置url和视图函数的对应关系;

wsgi:启动相关

4、创建应用(app)-一个应用

app的文件解析

admin:Django自带的后台管理模块;

apps:应用注册器;

models:数据模型;

tests:测试样例;

views:视图函数;

migrations:数据库同步工具;

5、启动设置

Django是通过manage.py启动,需要在pycharm上设置启动参数:

启动Django:

访问:

至此,Django跑起来了。

此外,我们还看到了Django自带了admin后台管理,也可以进行访问到,当然,需要设置用户名和密码后才能进入。

欲知后台怎么登录,请听下回分解。

三、Django安装和流程的更多相关文章

  1. 基于Python的Webservice开发(三)-Django安装配置

    一.安装Django pip install django 二.创建项目 进入指定的目录后 django-admin startproject WebApi 目录说明: WebApi 项目的容器. m ...

  2. django基础(web框架,http协议,django安装)

    学习Django之前我们先来看什么是OSI七层模型: 应用层 表示层       应用层(五层模型中把这三层合成一个应用层) http协议 会话层 传输层                  提供端口对 ...

  3. Django安装和web框架原理

    Django安装和web框架原理 在PyCharm中安装 在cmd中输入 django-admin startproject 项目名 如果报错 不是内部或外部命令,也不是可运行的程序 需要添加环境变量 ...

  4. python,django安装

    环境:win7 64位 软件:python3.4.3,jdango1.8,PyDev,pymysql0.7 一:安装python 1.安装好python好后,配置环境变量,可以参考其它的博客,本博客只 ...

  5. OpenStack Keystone安装部署流程

    之前介绍了OpenStack Swift的安装部署,采用的都是tempauth认证模式,今天就来介绍一个新的组件,名为Keystone. 1. 简介 本文将详细描述Keystone的安装部署流程,并给 ...

  6. Django学习(一) Django安装配置

    上一节介绍了如何搭建Python的开发环境,这次介绍一下如何搭建Django的开发环境. 第一.下载Django Django跟Python的版本对应 Django version Python ve ...

  7. Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置

    近期做那个python的开发,今天就来简单的写一下开发路线的安装及配置, 开发路线 Python3.6.1+Pycharm5.0.6+Django1.11+MySQL5.7.18 1-安装Python ...

  8. (转载)Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置

    近期做那个python的开发,今天就来简单的写一下开发路线的安装及配置, 开发路线 Python3.6.1+Pycharm5.0.6+Django1.11+MySQL5.7.18 1-安装Python ...

  9. Django 安装配置

    1-安装Python3.6.1 Python2.x 与3.x的版本在语法上稍有不同,区别在于输出语句的不同,这个可以看相关的文档. Python3.6.1,可以在Python的官网上下载:https: ...

随机推荐

  1. ASP.Net MVC的学习

    套种间作,也挺有意思的——近来学习感悟.DRP学习的同时,折腾了点以前不曾学习但是却很多次耳闻过的东西——Asp.Net中的MVC架构模式. 一.是什么? MVC,即(Model-View-Contr ...

  2. Dubbo实践(二)架构

    架构 节点角色说明 节点 角色说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 Monitor 统计服务的调用次数和 ...

  3. rhel install java jdk

    Linux安装JDK完整步骤 1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version "1. ...

  4. 如何利用java程序实现加密所需的公钥、密钥、数字证书

    本篇的主要目的在于实现pdf的数字签名问题,只是作为我学习知识的总结. 1.数字签名算法的概述 本部分主要参考于:https://blog.csdn.net/lovelichao12/article/ ...

  5. PAT——1063. 计算谱半径

    在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界.换言之,对于给定的n个复数空间的特征值{a1+b1i, ..., an+bni},它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模. ...

  6. HDU 1561 The more, The Better(树形dp之树形01背包)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1561 The more, The Better Time Limit: 6000/2000 MS (J ...

  7. JDBC—执行sql语句的通用方法

    /* * 执行 sql的方法集 * delete,insert into ,update */ public static void update(String sql){ Connection co ...

  8. DBCP数据库连接池的简单使用

    0.DBCP简介      DBCP(DataBase connection pool)数据库连接池是 apache 上的一个Java连接池项目.DBCP通过连接池预先同数据库建立一些连接放在内存中( ...

  9. Storm相关笔记(包括Kafka和HBase)

    一.Apache Kafka 1.了解Kafka 1.1.Kafka是什么?有什么用? 是什么? 1) Apache Kafka 是一个消息队列(生产者消费者模式) 2) Apache Kafka 目 ...

  10. Redis 之江湖遇险-复制运维及优化

    一. 前言 上一篇Redis 之深入江湖-复制原理中说了复制的原理,那么在理解复制原理之后,还要知道在这复制功能的背后,还有哪些坑要注意一下,毕竟坑是要跳过去的,而不是跳进去的. 二. 读写分离的一些 ...