最近在学习利用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. 聊聊找AI算法岗工作

    https://blog.csdn.net/weixin_42137700/article/details/81628028 首先,本文不是为了增加大家的焦虑感,而是站在一名学生的角度聊聊找AI算法岗 ...

  2. 如何用ABP框架快速完成项目(8) - 用ABP一个人快速完成项目(4) - 能自动化就不要手动 - 使用自动化测试(BDD/TDD)

    做为一个程序员, 深深知道计算机自动化的速度是比人手动的速度快的, 所以”快速”完成项目的一个重要武器就是: 能自动化就不要手动.   BDD/TDD有很多优势, 其中之一就是自动化, 我们这节文章先 ...

  3. 「Android」adb调试源码(针对dumpsys SurfceFlinger、trace.txt获取)

    首先对ADB作简单的阐述,接下来对adb shell dumpsys SurfaceFlinger服务的dump信息的查看.以及ANR问题如何获取trace文件并简单分析. -×*********** ...

  4. 你不可不知的Java引用类型之——WeakReference源码详解

    定义 WeakReference是弱引用,该引用不会影响垃圾回收器对对象的回收,不会影响对象的生命周期. 说明 当虚拟机在某个时间点决定要回收一个弱可达(weakly-reachable)对象时,会自 ...

  5. git 入门教程之github 教程

    github 教程 github 是一个基于 git 的代码托管平台,是平时工作学习的好帮手,学会如何用好 github 网站能够帮助我们更好分享代码或者与其他开发人员合作. 注册 github 账号 ...

  6. Spark DataFrame的groupBy vs groupByKey

    在使用Spark SQL的过程中,经常会用到groupBy这个函数进行一些统计工作.但是会发现除了groupBy外,还有一个groupByKey(注意RDD也有一个groupByKey,而这里的gro ...

  7. Spark SQL整体架构

    0.整体架构 注意:Spark SQL是Spark Core之上的一个模块,所有SQL操作最终都通过Catalyst翻译成类似的Spark程序代码被Spark Core调度执行,其过程也有Job.St ...

  8. SQL server 导出平面文件时出错: The code page on Destination - 3_txt.Inputs[Flat File Destination Input].Columns[UserId] is 936 and is required to be 1252.

    我在导出平面文件时:Error 0xc00470d4: Data Flow Task 1: The code page on Destination - 3_txt.Inputs[Flat File ...

  9. ansible部署 lnmp+wordpress

    如上,是项目的目录结构. common: 获取阿里云的yum源 mysql: 二进制安装mysql nginx: 编译安装nginx php-fpm:编译安装php-fpm wordpress: 获取 ...

  10. javascript语言之 this概念

    转载 猫猫小屋 http://www.maomao365.com/?p=837 由于javascript是一种解释性语言,运行时才会解释所有的变量值,所以对于javascript中this所指的对象是 ...