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-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。
 
 
 
 
 
 
 

1.1 Django起步的更多相关文章

  1. 小白神器 - Django - 起步

    小白神器 - Django - 起步 一.  Django下载 1. 命令行 pip install django==1.11.16 pip install django==1.11.16 -i ht ...

  2. 49.Django起步学习

    django起步 django安装 pip install django==2.0.4(版本号) pip install django 默认安装最新版本 创建项目 django-admin start ...

  3. python开发学习-day16(Django框架初识)

    s12-20160507-day16 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  4. django2-创建项目

    方式一:cmd或linux命令行下创建django项目(不常用,此处不做详细介绍) django-admin.py startproject autotest 方式二:使用pycharm专业版创建dj ...

  5. django celery的分布式异步之路(一) 起步

    如果你看完本文还有兴趣的话,可以看看进阶篇:http://www.cnblogs.com/kangoroo/p/7300433.html 设想你遇到如下场景: 1)高并发 2)请求的执行相当消耗机器资 ...

  6. 弹射起步~django

    sudo apt-get installl tree 开始创建工作目录 django-admin.py startproject mysite 创建一个名为 mysite的子目录,然后我们通过tree ...

  7. Django框架起步

    一.环境安装 二.创建项目 三.项目目录 四.创建项目应用 五.应用目录 六.第一个响应 七.第一个模板页面 八.第一个重定向 九.url应用移植 十.多应用相同模板页面冲突 十一.静态资源的配置 十 ...

  8. Django之权限(起步)

    一. 权限概述 1. 认识权限 为什么要有权限? 因为权限让不同的用户拥有不同的功能. 权限可以对功能进行划分. 生活中处处有权限. 比如, 腾讯视频会员才有观看某个最新电影的权限, 你有房间钥匙就有 ...

  9. WINDOWS+NGINX+DJANGO+FLUP+PYTHON起步~

    参考的文档是 http://blog.163.com/sky20081816@126/blog/static/1647610232010824262695/ 但在实操时,作了更改之后才生效,就是#in ...

随机推荐

  1. 全志A33移植LCD驱动(ILI9806E)

    0x00 环境说明: 所使用的开发板为锐尔威视的插针版A33_Vstar 屏幕是买的第三方的KD050FWFPA011-C009A,其中LCD驱动IC为ILI9806E,所使用的接口为RGB666 0 ...

  2. SQL Server创建存储过程——动态SQL

    简介: 存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行. 自定义存储过程,由用户创建并能完成 ...

  3. 北京大学Cousera学习笔记--6-计算导论与C语言基础--计算机的基本原理-认识程序设计语言 如何学习

    1.是一门高级程序语言 低级语言-机器语言(二进制) 汇编语言-load add save mult 高级语言:有利于人们编写理解 2.C语言的规范定义非常的宽泛 1.long型数据长度不短于int型 ...

  4. Aliyun OSS Nginx proxy module(阿里云OSS Nginx 签名代理模块)

    1.此文章主要介绍内容 本文主要介绍如何利用Nginx lua 实现将阿里云OSS存储空间做到同本地磁盘一样使用.核心是利用Nginx lua 对OSS请求进行签名并利用内部跳转将所有访问本地Ngin ...

  5. puppeteer(六)启动参数——浏览器扩展应用的添加及应用

    前言 最近再做浏览器的自动化,首页是定制化的,是通过extension(扩展)实现的,由于通过puppeteer默认是以无参(即首次以干净的环境)运行的,导致登录页无法正常显示,首先想当然是直接找扩展 ...

  6. Eclipse及Eclipse为基础的App报错“Failed to create the Java Virtual Machine”的解决办法

    由于OracleJDK马上就要收费了,公司要求更换OpenJDK,结果安装后Eclipse及Eclipse为基础的App启动报错:“Failed to create the Java Virtual ...

  7. Unity3d中角色模型和角色名字保持相对位置

    3D游戏中,经常遇到这样的情况.角色模型上需要显示角色名字或者血条等信息. 如果用一个摄像机会有可能出现名字或血条显示不正常等问题,所以我采用两个摄像机.一个渲染名字或血条等UI,另一个渲染角色模型. ...

  8. 【论文速读】Cong_Yao_CVPR2017_EAST_An_Efficient_and_Accurate_Scene_Text_Detector

    Cong_Yao_CVPR2017_EAST_An_Efficient_and_Accurate_Scene_Text_Detector 作者和代码 非官方版tensorflow实现 非官方版kera ...

  9. ES6中的解构赋值

    在解释什么是解构赋值前,我们先来看一下, ES5 中对变量的声明和赋值. var str = 'hello word'; 左边一个变量名,右边可以是字符串,数组或对象. ES6 中增加了一种更为便捷的 ...

  10. 浏览器对象模型BOM总结

    BOMwindows对象document对象location对象screen对象 Windows对象 1.窗口操作 移动指定的距离:window.moveBy(10,20); //向右移动10像素,向 ...