软件及Django框架简介

软件框架

  • 一个软件框架是由其中各个软件模块组成的;
  • 每一个模块都有特定的功能;
  • 模块与模块之间通过相互配合来完成软件的开发。

软件框架是针对某一类软件设计问题而产生的。

MVC框架

施乐公司 帕罗奥多研究中心 smalltalk语言 simula 67
软件设计模式:

  • MVC的产生理念: 分工。让专门的人去做专门的事--输入,处理,输出
  • MVC的核心思想: 解耦

通过浏览器注册用户信息理解MVC框架。

  • M: Model,模型, 和数据库进行交互;
  • V: View,视图, 产生html页面;
  • C: Controller,控制器, 接收请求,进行处理,与M和V进行交互,返回应答。

MVT简介

Django 劳伦斯出版集团 新闻内容网站。Python--->MVC
快速开发和DRY原则。Do not repeat yourself.不要自己去重复一些工作。

通过浏览器注册用户信息理解MVT框架。

  • M:Model,模型, 和MVC中M功能相似,和数据库进行交互;
  • V: View,视图, 和MVC中C功能相似,接收请求,进行处理,与M和T进行交互,返回应答;
  • T: Template,模板, 和MVC中V功能相同,产生HTML页面。

Django简介

Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。

劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。

由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该领域的佼佼者。

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

django官方网站:https://www.djangoproject.com/
django源码:https://github.com/django/django

Django框架遵循MVC设计,并且有一个专有名词:MVT框架。

Django开发环境搭建

虚拟环境的安装

  • 之前安装python包的命令: sudo pip3 install 包名;
  • 包的安装路径:/usr/local/lib/python3.5/dist-packages;
  • 安装同一个包的不同版本,后安装的包会把原来安装的包覆盖掉。这样,如同一台机器上两个项目依赖于相同包的不同版本,则会导致一些项目运行失败。
  • 解决的方案就是:虚拟环境。
  • 虚拟环境是真实python环境的复制版本。
  • 在虚拟环境中使用的python是复制的python,安装包也是安装在复制的python中。

安装虚拟环境的命令
1)sudo pip install virtualenv #安装虚拟环境
2)sudo pip install virtualenvwrapper #安装虚拟环境扩展包
3)编辑家目录下面的.bashrc文件,添加下面两行。

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

4)使用source .bashrc使其生效一下。

示例:

python@ubuntu:~$ pwd
/home/python
python@ubuntu:~$ vi .bashrc // 添加上面两行内容
python@ubuntu:~$ source .bashrc python@ubuntu:~$ mkvirtualenv -p python3 cp15
(cp15) python@ubuntu:~$ deactivate
python@ubuntu:~$ workon cp15
(cp15) python@ubuntu:~$ pip install django==1.8.2

虚拟环境的创建和使用

创建虚拟环境命令:mkvirtualenv 虚拟环境名
创建python3虚拟环境:mkvirtualenv -p python3 cp15
进入虚拟环境工作:workon 虚拟环境名
查看机器上有多少个虚拟环境:workon 空格 + 两个tab键
退出虚拟环境:deactivate
删除虚拟环境:rmvirtualenv 虚拟环境名 虚拟环境下安装包的命令:pip install 包名
注意:不能使用sudo pip install 包名,这个命令会把包安装到真实的主机环境上而不是安装到虚拟环境中。
  apt-get install 软件
  pip install python包名
安装django环境:pip install django==1.8.2 查看虚拟环境中安装了哪些python包:
  pip list
  pip freeze(和list的区别在于会少几个包,在网站上线的时候会使用该命令)

注意,在虚拟环境中编辑和创建文件不只是放在虚拟环境中,外部也有,虚拟环境只是决定那些包安装在哪。
创建虚拟环境时,虚拟机要联网。

Django项目和应用创建

项目创建

创建项目命令:

django-admin startproject 项目名

注意:创建应用必须先进入虚拟环境。

项目目录及作用如下:

__init__.py: 说明test1是一个python包。
settings.py: 项目的配置文件;
urls.py: 进行url路由的配置;
wsgi.py: web服务器和Django交互的入口;
manage.py: 项目的管理文件;

应用创建

一个项目由很多个应用组成的,每一个应用完成一个特定的功能。
创建应用命令如下:

python manage.py startapp 应用名

注意:创建应用时需要先进入项目目录。

应用目录及作用如下:

__init__.py: 说明目录是一个python模块;
models.py: 写和数据库相关的内容;
views.py: 接收请求,进行处理,与M和T进行交互,返回应答;
定义处理函数,视图函数。
tests.py: 写测试代码的文件;
admin.py: 网站后台管理相关的文件;

建立应用和项目之间的联系,需要对应用进行注册。
修改settings.py中的INSTALLED_APPS配置项。

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'应用名',
)

运行开发web服务器命令:

python manage.py runserver

Django项目和应用创建示例:

python@ubuntu:~$ workon cp15
(cp15) python@ubuntu:~$ mkdir day01
(cp15) python@ubuntu:~$ cd day01 (cp15) python@ubuntu:~/day01$ django-admin startproject test1
(cp15) python@ubuntu:~/day01$ ls
test1
(cp15) python@ubuntu:~/day01$ cd test1/
(cp15) python@ubuntu:~/day01/test1$ tree
(cp15) python@ubuntu:~/day01/test1$ ls
manage.py test1 (cp15) python@ubuntu:~/day01/test1$ python manage.py startapp booktest
(cp15) python@ubuntu:~/day01/test1$ ls
booktest manage.py test1
(cp15) python@ubuntu:~/day01/test1$ cd booktest/
(cp15) python@ubuntu:~/day01/test1/booktest$ tree
.
├── admin.py
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py 1 directory, 6 files // 使用pycharm打开home/python/cp15/test1,在settings文件进行应用注册
(cp15) python@ubuntu:~/day01/test1$ python manage.py runserver

以后所有利用虚拟环境开发的项目,要在命令行对项目进行改动,都要先进入虚拟环境下再操作。

Django之Django简介,开发环境搭建,项目应用创建的更多相关文章

  1. Django Python MySQL Linux 开发环境搭建

    Django Python MySQL Linux 开发环境搭建 1.安装Python 进行Python开发,首先必须安装python,对于linux 或者Mac 用户,python已经预装. 在命令 ...

  2. Vue环境搭建-项目的创建-启动生命周期-组件的封装及应用

    vue项目环境的搭建 """ node >>> python:node是用c++编写用来运行js代码的 npm(cnpm) >>> p ...

  3. python 之django (一) Windows环境下Django 1.6.11开发环境搭建(简易版)

    转自 https://www.cnblogs.com/kkddij/p/4397163.html 需要安装如下部件: python 2.6.6 pip(最新版即可) Django 1.6.11 PyC ...

  4. angular开发环境搭建及新建项目

    最近一个星期准备学习一下angular前端框架,因为之前在学习abp框架的时候,都要求前端要掌握angular,所以不得不回来恶补一下了,学习的过程有时间的话会记录在这里,方便以后复习. 闲言少叙,下 ...

  5. (转)PhoneGap开发环境搭建

    (原)http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html PhoneGap开发环境搭建   项目中要用PhoneGap开发,了解 ...

  6. nginx+uwsgi+django开发环境搭建

    Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...

  7. Ubuntu下Django初体验(一)——开发环境搭建

    一.开发 环境搭建 1. linux下一般有自带的python,如果对版本不满意,可以再自行安装. 2. 安装ipython(推荐) sudo apt-get install ipython sudo ...

  8. Django学习笔记 开发环境搭建

    为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统a ...

  9. django开发环境搭建(参考流程)

    django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开 ...

随机推荐

  1. 关于python的中国历年城市天气信息爬取

    一.主题式网络爬虫设计方案(15分)1.主题式网络爬虫名称 关于python的中国城市天气网爬取 2.主题式网络爬虫爬取的内容与数据特征分析 爬取中国天气网各个城市每年各个月份的天气数据, 包括最高城 ...

  2. Redis开发与运维:特性

    Redis 特性 速度快 内存数据库 L1 cache reference 读取CPU的一级缓存 0.5 ns Branch mispredict (转移.分支预测) 5 ns L2 cache re ...

  3. salt-api 获取服务器信息,minion批量执行cmd命令

    import requests import json try: import cookielib except: import http.cookiejar as cookielib # 使用url ...

  4. Git教程---由浅入深

    初学者很难找到一个由浅入深,学完后能立刻上手的Git教程 Git用户 V&Git专家 Git是一个工具,是目前世界上最先进的分布式版本控制系统(没有之一). 集中式的版本控制系统  V& ...

  5. AES 对称加密

    package com.skynet.rimp.common.utils.string; import java.io.UnsupportedEncodingException; import jav ...

  6. 函数式编程 - Functional Programming

    什么是函数式编程 函数式编程是一种编程范式. 编程范式又是什么? 编程范式是一种解决问题的思路. 命令式编程 把程序看作 一系列改变状态的指令: 函数式编程 把程序看作 一系列数学函数映射的组合. i ...

  7. Linux系统:常用Linux系统管理命令总结

    本文源码:GitHub·点这里 || GitEE·点这里 一.目录指令 1.创建目录make directory mkdir 目录名称 //mkdir spring,创建一个spring文件夹 mkd ...

  8. SSM整合3(springMVC+mybatis)

    一.RequestMapping URL路径映射:置于方法上,可多个URL映射同一个方法,格式:@RequestMapping(value="item")或@RequestMapp ...

  9. ASP.NET Core Web 应用程序开发期间部署到IIS自定义主机域名并附加到进程调试

    想必大家之前在进行ASP.NET Web 应用程序开发期间都有用到过将我们的网站部署到IIS自定义主机域名并附加到进程进行调试. 那我们的ASP.NET Core Web 应用程序又是如何部署到我们的 ...

  10. 详解Condition的await和signal等待/通知机制

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...