1.1 Django起步

1.1 Django起步

1.1.1. Django简介

Django开发框架(简称Django)诞生的时间是2003年的金秋时节,美国有两位程序员Adrian Holovaty和Simon Willison在使用后被冠名为Django的框架做网站开发。

2008年,Django有了自己的DSF(Django Software Foundation),Django的发展就由这个基金会来主导了。

Django的特点:

容易上手,开发速度快;

囊括了网站开发中的用户管理、内容管理、网站地图、RSS等常用的众多插件;

安全性强,比如Django默认解决了SQL注入、跨站攻击等问题;

应用广泛,类型多样化。包括各类在线服务网站、社会组织和政府机构网站等,其类型包括但不限于管理系统、社交网站、计算平台等。

1.1.2 安装Django

Django是以Python为语言环境的,使用于Python3和Python2.7两个版本。

安装Django的方法:

方法一:简单常用的方法

$ sudo pip install Django==1.10.1 安装中指定了版本,可以修改版本号,或者不写版本号,默认安装软件源中已有的版本。

安装好之后,可以先进入到Python交互模式中,查看一下所安装的Django版本。

方法二:下载Django源码进行安装,代码如下。

git clone https://github.com/django/django.git,如果系统中没有安装Git,会提示用户安装。

这时,会在当前目录中看到一个名称为“django”的目录,里面是最新版本的Django。随后在当前目录中进行如下操作:

$ sudo pip install -e ./django,系统会提示Django已经安装成功的信息:“Successfully install Django”。

通过这种方法得到的必然是Django的最新版本,而且是正在开发中的最新版,尚未正式发布----虽然如此,也是能够正常使用的,Django框架的开发者不会把不能使用的代码发布出来。

安装成功之后,在Python交互模式中可以查看当前Django版本,显示结果中包含“dev”字样。说明我们使用的是开发版。

一般情况下,推荐使用pip install Django的方法来安装。

1.1.3 创建项目

所谓“项目”,可以理解为一个网站。将项目创建在下面的目录里

在这个目录中,创建一个Django项目。

方法一:

,看下这个目录,多了一个mysite子目录,mysite 就是这个项目的名称。

mysite子目录里面的内容,就是我们创建的项目内容,如图所示。

方法二:

在项目名称mysite后面又一个空格,然后还有一个句号(英文半角句号),如此也可以创建项目。创建后观察下图所示的沐浴露结构,跟上面的目录结构进行对比,找出两种方式的区别。

在创建的项目目录中,init.py文件所在的目录因它的存在而变成一个Python包(package)

已经建立了一个项目,意味着有一个网站的基本框架了。在后续的示例中,将使用以“django-admin startproject mysite”创建的项目结构。

启动服务器

打开浏览器在地址栏输入http://127.0.0.1:8000或者http://localhost:8000

1.1.4 创建应用

在Django中,把这些具体的功能称为“应用(application)”.

方法一:

执行①之后的目录结构

方法二:

执行②后,用tree显示的目录结构

①和②语句形式不同,但效果一样。

在创建一个Django项目后,manage.py被自动生成在项目的根目录中,它是对django-admin.py的简单封装,同样能够实现命令行操作。

django-admin命令对应着django-admin.py文件,它在Django安装后保存在Django安装目录的/bin下面。而mange.py只在建立与一个项目之后,才存在于项目的根目录 中。

对于项目根目录中的manage.py文件,不要修改,不要删除。

mysite是所建项目的管理目录:

settings.py:包括项目的初始化设置,对整个项目的设置,如:配置数据库、添加应用

urls.py:URL配置表文件,是将URL映射到应用程序上。在Django中,这个文件被称为URLconf

wsgi.py:Web Server Geteway Interface的缩写,是python所选择的服务器和应用标准,Django也会使用。wsgi.py定义了所创项目都是WSGI应用。

__pycache__:是编译后的文件夹,只有网站运行后,它才会出现。

blog项目中所创建的应用之一

admin.py:可 自定义Django管理工具。

apps.py: 对应用的配置,为管理功能提供一个适合的应用名称。

migrations:一个目录,用于存储应用的数据库表结构的指令。

model.py;应用的数据库模型,不宜删除。

tests.py:编写测试文档来测试所建立的应用。

views.py:重要文件,用户保存响应各种请求的函数或者类。如果编写的是函数,则称为基于函数的视图;如果编写的是类,则称之为基于类的视图。就是保存函数或者类的师徒文件。也可用其他的文件名称,习惯用views.py。

db.sqlite3一个默认的数据库。这个默认文件是在./mysite/settings.py中配置生成的。

1.1.5 网站配置

在Django项目中,主管信息注册(对本项目进行各种信息声明)的文件是./mysite/settings.py

debug:其值为True或者False。在开发过程中,设置成True, 在测试功能时,Django能够显示详细的报错信息----这是“开发模式”。如果将项目部署到真正要对外发布的服务器上,我们称之为“生产环境”,其值为False。

allowed_hosts:在debug为True时,其值可以为空。当部署到生产环境中时,要把主域名填写到这里,才能通过域名访问到本网站。

installed_apps:非常重要的配置项,所有的应用只有写到这里才能生效

databases:

language_code:设置项目的语言 ,如果非用汉语设置为:LANGUAGE_CODE = 'zh-hans'

time_zone:设置时区

1.1.6 知识点

1、开发模式

所谓“开发模式”,是相对“生产模式”而言的,即系统尚处于开发阶段,还没正式对外部客户提供服务,这种模式下很多配置都是为了开发而定的。

在开发模式下,Django会自动检测到修改的代码并重新加载,不需要每次修改代码后重新激动web服务器。

运行Django服务的指令是python manage.py runserver

2、项目和应用

Django安装好之后,就有了django-admin这个默认命令,用django-admin startproject projectname创建项目。项目由若干个“应用(app)”组成的,实现具体功能。创建应用用python manag.py startapp appname ,也可以使用django-admin startapp appname。

干货分享:贴吧活动如何策划
人生必备八大能力,我们已经有几种了?