最近在学习利用python语言进行web站点开发,使用的框架是Django。这篇博客主要介绍Django的安装和简单使用。

一、Django介绍

Django是一个开源的Web应用框架,由Python写成,基于MVC构造。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、

模板(Template)和视图(Views),称为 MTV模式。它们各自的职责如下:

 层次  职责
模型(model):数据存取层  处理与数据相关的所有事务:如何存取、验证有效性、包含哪些行为以及数据关系等
视图(view):表现层  处理与表现相关的决定:如何在页面或其他类型的文档中进行显示 
模板(template):业务逻辑层  存取模型及调取恰当模板的相关逻辑,即模型与模板的桥梁 

1、设计哲学

Django的主要目的是简便、快速的开发数据库驱动的网站。强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架。

Django有许多功能强大的第三方插件,甚至可以很方便的开发出自己的工具包,具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。

2、工作机制

①、用manage .py runserver启动Django服务器时就载入了在同一目录下的settings.py。该文件包含了项目中的配置信息,其中最重要的配置就是ROOT_URLCONF,

它告诉Django哪个Python模块应该用作本站的URLConf,默认的是urls.py;

②、当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf;

③、按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request);

④、最后该view函数负责返回一个HttpResponse对象;

二、安装

Django框架更新较为频繁,每个版本之间总是有些差异的,因此可以根据下面的python和Django匹配情况选择版本进行安装。

Django对python各版本的支持情况如下表:

Django version Python version
1.8 2.7,3.3,3.4,3.5
1.9,1.10 2.7,3.4,3.5
1.11 2.7,3.4,3.5,3.6
2.0 3.5+

PS:由于Python2.7版本预计2020年之后将不再维护,所以我使用的是Python3.6.2版本,Django为2.0版本。

安装方式:

①、通过pip命令进行安装:

pip install django(默认为Django最新版本)

pip install django==2.0.2(Django截至目前最新版本,这里只是为了方便演示,安装自己需要的版本),更多相关资料可参考这里:Django

②、通过下载安装文件进行安装:

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

python官方仓库:https://pypi.python.org/pypi/Django

三、使用

1、新建一个项目

通过cmd命令,新建一个目录Test

目录结构如下:

__init__.py:让Python把该目录当成一个标准的开发包;

settings.py:django项目的配置文件;

urls.py:django项目的URL配置文件;

wsgi.py:wsgi是Python语言定义的web服务器,为项目提供的一种服务接口;

manage.py:命令行工具,可以用多种方式与该django项目进行交互;

2、创建并运行应用

①、通过cmd命令,在Test项目下新建一个应用webdev:

应用目录如下:

migrations/:记录models中的数据变更;

admin.py:映射models中的数据到admin后台;

apps.py:对创建的应用进行配置,比如新增文件;

models.py:Django模型文件,创建应用程序的数据表模型;

tests.py:创建测试用例;

views.py:Django视图文件,控制向前端页面传输的内容;

②、通过cmd命令运行项目:

默认情况下,会在8000端口启动一个本地服务器。当然,如果遇到端口被占用或者其他情况,可以自定义端口,比如上面的命令中,我使用了8001端口、

在浏览器输入127.0.0.1:8001,启动后可以看到如下界面,就说明我们的应用服务成功启动:

PS:如果想要其他计算机也可以访问该页面,则执行如下命令:

python manage.py runserver 0.0.0.0:8001

0.0.0.0这个IP地址告诉服务器去侦听任意的网络接口。这样,在本地网络中的其他计算机就可以在浏览器中通过服务器的IP地址来访问该页面。

以上就是关于Django的介绍、安装和简单使用,后续会介绍如何利用django开发一个简单的web应用。

更多资料可参考这里:菜鸟教程:Django

Django:安装和启动的更多相关文章

  1. Django安装和启动

    1.django安装 在http://www.djangoproject.com/download/这个网站上可以下载django的最新版本.在下载时,要注意django版本和本机安装的Python版 ...

  2. Django 基础一(安装和启动)

    在开始跟着本文学习Django进行Web开发之前你需要有一定的python编程基础,会用一些简单的Linux系统命令.如果你对python一无所知,请先去这个网站学习一下python编程的基础 Lin ...

  3. Django的安装和启动以及第一个工程的建立

    ---恢复内容开始--- 前提:已经安装了python和Anaconda (windows系统) 在Anaconda安装好之后,其文件夹下有一个叫做Anaconda Prompt的工具,类似windo ...

  4. 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置

    第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本  uwsgi- ...

  5. python Django 学习笔记(一)—— Django安装

    注:本人python版本2.7.5 ,win7系统 安装Django https://www.djangoproject.com/download/ 官方下载Django-1.5.5.tar.gz 1 ...

  6. django安装配置及测试

    django安装之前我们假设你已经安装了python,和mysql(不是必须的):(如果没有google一下挺简单不介绍了)下面直接介绍django的安装配置:到下面连接可以下载www.djangop ...

  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: ...

  10. django安装与使用

    django安装与使用 --更新中 安装 我这里采用pip安装 pip install django 创建django工程 创建好的工程,会在当前目录.下 django-admin startproj ...

随机推荐

  1. easyUI按钮图表对照大全

    easyUI图标与对照类的对应关系:

  2. Android IPC机制(二)用Messenger进行进程间通信

    Messenger可以在不同进程中传递Message对象,我们在Message中加入我们想要传的数据就可以在进程间的进行数据传递了.Messenger是一种轻量级的IPC方案并对AIDL 进行了封装, ...

  3. mysql之事务管理

    本文内容: 什么是事务管理 事务管理操作 回滚点 默认的事务管理 首发日期:2018-04-18 什么是事务管理: 可以把一系列要执行的操作称为事务,而事务管理就是管理这些操作要么完全执行,要么完全不 ...

  4. 2016-04-25-信息系统实践手记6-JS调用Flex的性能问题一例

    layout: post title: 2016-04-25-信息系统实践手记6-JS调用Flex的性能问题一例 key: 20160425 tags: GIS JS FLEX 技术选型 性能 API ...

  5. mysql练习----The JOIN operation

    game id mdate stadium team1 team2 1001 8 June 2012 National Stadium, Warsaw POL GRE 1002 8 June 2012 ...

  6. [20190312]关于增量检查点的疑问(补充).txt

    [20190312]关于增量检查点的疑问(补充).txt --//有人问我以前写一个帖子的问题,关于增量检查点的问题,链接如下:http://blog.itpub.net/267265/viewspa ...

  7. 【PAT】B1011 A+B 和 C

    注意数据的范围,使用long long就行了 #include<stdio.h> int main(){ int N;scanf("%d",&N); for(i ...

  8. Unity基础6 Shadow Map 阴影实现

    这篇实现来的有点墨迹,前前后后折腾零碎的时间折腾了半个月才才实现一个基本的shadow map流程,只能说是对原理理解更深刻一些,但离实际应用估计还需要做很多优化.这篇文章大致分析下shadow ma ...

  9. vue原理简介

    写vue也有一段时间了,对vue的底层原理虽然有一些了解,这里总结一下. vue.js中有两个核心功能:响应式数据绑定,组件系统.主流的mvc框架都实现了单向数据绑定,而双向绑定无非是在单向绑定基础上 ...

  10. eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(一)

    eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(一) 本篇博客主要包含五个内容: 1.CXF换将搭建以及eclipse配置CXF. 2.eclipse创建w ...