• Django简介
  • Django特点
  • 环境搭建
  • 创建工程
  • 启动服务
  • 使用pycharm打开工程
  • 创建子应用

Django简介

Django,是用Python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版社集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该领域的佼佼者。

Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你设置可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则

Django特点

重量级框架,对比Flask框架,Django原生提供了众多的功能组件,让开发更简便快速

  • 提供项目工程管理的自动化脚本工具
  • 数据库ORM支持
  • 模板
  • 表单
  • Admin管理站点
  • 文件管理
  • 认证权限
  • session机制
  • 缓存

MVT模式

  其核心思想是分工、解耦,让不同代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。

环境搭建

创建虚拟环境

mkvirtualenv --python="/usr/local/python36/bin/python3" heboan

安装Django

pip install django==1.11.11

创建工程

在Django中,项目工程目录可以借助django提供的命令帮助我们创建

在/vagrant/下创建一个工程名为demo

cd /vagrant/
django-admin startproject demo

工程结构

(heboan) [vagrant@localhost vagrant]$ tree demo
demo
├── demo 与项目名同名的目录,此处为demo
│   ├── __init__.py
│   ├── settings.py 是项目的整体配置文件
│   ├── urls.py 是项目的URL配置文件
│   └── wsgi.py 是项目与WSGI兼容的Web服务器入口
└── manage.py 是项目管理文件,通过它管理项目

启动服务

cd demo/
python manage.py runserver 0.0.0.0:8000

提示:

如果遇到运行报错如下:

解决办法:

编辑settings.py,将以下内容注释

使用pycharm打开工程

然后配置编译器,这里我使用了vagrant虚拟机环境

使用pycharm运行工程

先使用pycharm运行一次manage.py,然后进入Edit Configurations...

设置完成以后,启动工程只需要使用python 运行manage.py即可

创建子应用

在web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他功能项目中需要用到某个特定的功能模块时,可以将该模块代码整体复制过去,达到复用。

在Flask框架中也有类似子功能应用模块的概念,即蓝图Blueprint

Django的视图编写是放在子应用中的。

创建一个users子应用

cd /vagrant/demo/
python manage.py startapp users

第1天:Django框架简介与工程创建的更多相关文章

  1. Python学习(三十)—— Django框架简介

    转载自:http://www.cnblogs.com/liwenzhou/p/8296964.html Django框架简介 一.MVC框架和MTV框架(了解即可) MVC,全名是Model View ...

  2. Django框架简介及模板Template,filter

    Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View) ...

  3. Django框架简介与使用注意事项

    一.Django框架简介 MVC框架和MTV框架 MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model). ...

  4. python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)

    12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器( ...

  5. wsgiref模块、web框架、django框架简介

    """web框架:将前端.数据库整合到一起的基于互联网传输的python代码 web框架也可以简单的理解为是软件开发架构里面的'服务端'""" ...

  6. 手动搭建简易web框架与django框架简介

    目录 纯手写简易web框架 基于wsgiref模块 动静态网页 简单了解jinja2模块 框架请求流程 python主流web框架 django框架 简介 应用app 命令操作django pycha ...

  7. Django框架的安装,项目创建

    目录 Django框架的安装,项目创建 方法安装 Django版本选择 1.11.21(最新LTS版) django管理目录 命令行创建项目 django项目 命令行启动 (必须在项目文件下执行) p ...

  8. Python学习笔记_04:Django框架简介

    目录 1 什么是Django? 2 Django框架的开发环境搭建 3 Django操作MySql数据库简介 4 功能强大的Django管理工具应用 1 什么是Django? Django是应用于We ...

  9. Django框架简介,wsgiref 与 jinja2 模块

    目录 框架简介 wsgiref模块 jinja2 模块 框架简介 Django是一个web开发框架,用来开发web应用,本质就是, web框架+socket服务端 MVC框架和MTV框架 MVC,全名 ...

随机推荐

  1. 浅谈欧几里得算法求最大公约数(GCD)的原理及简单应用

    一.欧几里得算法及其证明 1.定义: 欧几里得算法又称辗转相除法,用于求两数的最大公约数,计算公式为GCD(a,b)=GCD(b,a%b): 2.证明: 设x为两整数a,b(a>=b)的最大公约 ...

  2. mysql定时删除数据

    删除三天前的数据的sql DELETE FROM table WHERE created_on < DATE_SUB(CURDATE(),INTERVAL 3 DAY); CURDATE() 返 ...

  3. Go语言的接口interface、struct和组合、继承

    Go语言的interface概念相对于C++中的基类,通过interface来实现多态功能. 在C++中,当需要实现多态功能时,步骤是首先定义一个基类,该基类使用虚函数或者纯虚函数抽象了所有子类会用到 ...

  4. 对web标准的理解,以及对w3c组织的认识

    (1)web标准规范要求,书写标签必须闭合.标签小写.不乱嵌套,可提高搜索机器人对网页内容的搜索几率.--- SEO(2)建议使用外链css和js脚本,从而达到结构与行为.结构与表现的分离,提高页面的 ...

  5. golang的json序列化

    json就是简单的数据交换格式,语法类似javascript的对象和列表,是最常见的后端和运行在网页上的js之间的通信格式. encoding: 编码json数据需要使用到Marshal()函数. f ...

  6. git checkout 命令详解【转】

    转自:http://www.cnblogs.com/hutaoer/archive/2013/05/07/git_checkout.html 在日常的git操作中,git checkout——检出,是 ...

  7. MySQL5.7之多源复制&Nginx中间件(下)【转】

    有生之年系列----MySQL5.7之多源复制&Nginx中间件(下)-wangwenan6-ITPUB博客http://blog.itpub.net/29510932/viewspace-1 ...

  8. python 中的__del__

    # -*- coding: utf-8 -*- # @Time : 2018/9/19 20:21 # @Author : cxa # @File : delDemo.py # @Software: ...

  9. HDU 6196 happy happy happy 爆搜加剪枝

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6196 题意:给你长度为n的序列,爸爸和儿子玩一个游戏,儿子先手,儿子每次都选择最左边与最右边最大的那个 ...

  10. python中set

    集合update方法:是把要传入的元素拆分,做为个体传入到集合中,例如: >>> a = set('boy') >>> a.update('python') > ...