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

Linux的基础命令太多,但是大多数可以现学现用(前提是不在生产环境下,以免出现误操作,删库跑路).用到linux命令的时候如果不懂是什么意思可以自己查询一下.

Django是python采用MTV的架构模式编写的开源Web框架,可以帮助python开发者快速进行Python下的web开发.先简单解释一下MTV的含义:

M 代表模型(Model):负责业务对象和数据库的关系映射,也就是Django中的Model与数据库中表的对应关系,Django中大部分时候一个model对应数据库中的一张表,model的一个field对应数据库的一个字段(ORM)。

T 代表模板 (Template):负责如何把页面展示给用户,这部分只负责前台的数据显示和向后端发送请求,一般不做业务逻辑上的处理(html)。

V 代表视图(View):负责业务逻辑,这一层,接收前端页面的请求调用Model进行业务的逻辑处理,并且将处理结果返回至Template。

对应关系如下图:

.

先说一下我的配置环境:操作系统Ubuntu16.04LTS,python版本是 python3.4.3 ,编辑器用的是ATOM.

如果不知道自己使用的python是哪个版本的话可以先按Ctrl+Alt+T打开终端,输入python,然后按Enter进入python shell,第一行就会告诉你当前使用python的版本.然后再输入quit()退出python shell.如果当前版本还是2.7,你可以用pyenv 安装指定版本的python并且指定系统的默认版本.具体操作请看这里.后续我们会讲如何不切换全局python版本的情况下,在同一台电脑上用不同版本的python进行django的Web开发.

下面开始进入正题:

安装Django

在终端输入:pip install django

这个命令会自动安装最新版本的django,如果你想安装指定版本.可以在后面加版本号,例如安装2.0.4版本的django命令是pip install django==2.0.4

如果提示pip命令没有安装,可以用sudo apt-get install python-pip先安装pip

django安装是否成功可以用下面的方法来检查,先进入python shell,然后导入django,打印版本号:

>>>import django>.

>>>print(django.get_version())

会输出当前的django版本号.则说明django已经安装好了.

Django项目的文件目录结构

Django安装完成之后,先创建一个目录'DjangoLearn'来存放我们的Django项目,具体命令是:

mkdir DjangoLearn.

进入'DjangoLearn'目录:

cd ./DjangoLearn.

接下来我们可以使用django-admin命令来创建我们的项目(project),命令格式是 'django-admin startproject 项目名称'.下面我们创建一个项目名称为'hollow_world'的项目

在终端输入:django-admin startproject hollow_world.

进入项目目录

:cd ./hollow_world

查看项目的目录结构:

ls

.

你会发现目录下有个manage.py的文件,还有一个和项目名称一样的文件目录'hollow_world'.这个在里层的'hollow_world'是存放project的一些基础配置的文件.

进入里层的hollow_world':

cd ./hollow_world

查看项目的目录结构:

ls

.

其中setting.py是配置文件,urls.py是路由设置文件,wsgi.py是与WSGI相关的内容.

启动Django服务

现在是时候来测试一下Django的web服务了.

回到上一层目录

:cd ../

启动Django服务:

python manage.py runserver 8080

runserver默认启用的端口号是8000,这里我用的是8080端口,是因为我的8000端口已经有别的服务占用了.

看到下面的信息说明服务已经启动了:

.

让我们来确认一下.在浏览器输入127.0.0.1:8080,出现下图的页面说明启动成功.

.

Django 基础一(安装和启动)的更多相关文章

  1. Django基础之安装配置

    安装配置 一 MVC和MTV模式 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业务对象与数据库的 ...

  2. django基础(一) - 安装和配置文件

    django介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C. <div style='color: red'> ...

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

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

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

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

  5. Django源码安装方法及创建启动项目

    一.源码安装方法 下载源码包:https://www.djangoproject.com/download/ 输入以下命令并安装: tar xzvf Django-X.Y.tar.gz # 解压下载包 ...

  6. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)

    摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...

  7. Python之路-(js正则表达式、前端页面的模板套用、Django基础)

    js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  8. DJango 基础 (1)

    django基础 知识点: 基本认知 工具准备 新建项目 目录及文件说明 开发服务器 创建视图函数 新建应用(app) 1.基本认知 Django是用Python开发的一个免费开源的Web框架,可以用 ...

  9. Django基础和基本使用

    Django基础 Django是Python下的一款著名的Web框架 框架 任何语言进入到高级部分时,会有认证.session.http.连接数据库等等功能操作,没有框架时需要自己实现 框架 是整个或 ...

随机推荐

  1. 刚收到一个吃瓜群众看了肯定不信的offer!

    我教过了很多学生了,有的毕业后跟我依然保持联系,有的不知所踪,有的越混越好,有的没有什么变化,这让我不断思考,到底拉开人与人之间差距的是什么呢?

  2. AbstractQueuedSynchronizer 原理分析 - Condition 实现原理

    1. 简介 Condition是一个接口,AbstractQueuedSynchronizer 中的ConditionObject内部类实现了这个接口.Condition声明了一组等待/通知的方法,这 ...

  3. JSF-受管Bean与EL表达式

    受管Bean与EL表达式 1)编写Bean:①有一个不带形参的构造方法 ②getXxx.setXxx ③一般要实现io.Serializable接口 2)声明受管Bean:①bean名称为外界访问其属 ...

  4. unity零基础开始学习做游戏(六)背景给我“滚”~

    -------小基原创,转载请给我一个面子 一望无际的...空旷场景,看着实在是难受,不如添加些背景吧.如果要真的想好好设计关卡背景的话,最好是做一个地图编辑器,不过做开发工具毕竟有点点复杂且枯燥,以 ...

  5. NGINX按天生成日志文件的简易配置

    NGINX按天生成日志文件的简易配置 0x01 最近后端童鞋遇到一个小需求,拆分nginx生成的log文件,最好是按天生成,看着她还有很多bug待改的状态,我说这个简单啊,我来吧.曾经搞node后端的 ...

  6. C程序员眼里的Python

    注释 Phython的注释和C语言非常不同,第一种 #开头的注释,类似于C的//开头,而"""对 包围注释,类似于C的/* */,以及xml类的<!--    -- ...

  7. ArcCore重构-Platform_Types.h实现辨析

    AUTOSAR定义了一系列PlatformTypes,如uint8/uint16/uint32等等基本类型. It contains all platform dependent types and ...

  8. android sqlite no such table

    今天在学习android SQLite出现android sqlite no such table错误提示,提示的意思我没有创建我要插入的表,网上也没有搜索一下,也尝试了,发现还是没有解决到我的问题, ...

  9. django自定义用户表

    django中已经给我生成默认的User表,其中的字段已经可以满足我们的日常需求. 但有时候,我们需要更多的字段,我们就可以自定义.来替换django自带的User表. #models.py from ...

  10. Centos制作本地yum源

    本地YUM源制作 1. YUM相关概念 1.1. 什么是YUM YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shel ...