Django 入门

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模型,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:
  • M 代表模型(Model):负责业务对象和数据库的关系映射(ORM)。
  • T 代表模板 (Template):负责如何把页面展示给用户(html)。
  • V 代表视图(View):负责业务逻辑,并在适当时候调用Model和Template
除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template

1、安装 Django

pip3 install django

测试 Django 安装

Python 3.5.0 (default, Sep 23 2015, 04:41:38)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.72)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 10, 3, 'final', 0)
>>>

2、django 的常用命令

# 创建 django 工程项目
django-admin.py startproject projectname # projectname 为自定义的项目名称 # 创建 django 的 app
python3.5 manage.py startapp appname # appname 为自定义的 app 名称
django-admin.py startapp appname # 同步数据库
python3.5 manage.py syncdb
python3.5 manage.py makemigration
python3.5 manage.py migrate # 启动调试模式
python3.5 manage.py runserver [ip:port] # ip:port 默认为 127.0.0.1:8000,也可以自定义 # 清空数据库
python3.5 manage.py flush # 创建 django admin 的超级管理员
python3.5 manage.py createsuperuser # 修改管理员密码
python3.5 manage.py changepassword username # 导入导出数据库
python3.5 manage.py dumpdata appname > appname.json # 导出
python3.5 manage.py loaddata appname.json # 导入 # 进入数据
python3.5 manage.py dbshell # 查看更多命令
python3.5 manage.py help

开始 django 的 Hello World

1、创建 project 和 app

创建一个project 为 Day15,并创建一个 app 为 app01, project 是一个大的工程,里面包含很多的功能,根据功能可以使用 app 来进行区分。

例如运维平台是一个 project, 下面可能包含 CMDB,Monitor,等等

# 创建项目
django-admin.py startproject Day15 # 进入 Day15 目录,创建 app
python3.5 manage.py startapp app01

目录结构:

Day15   # 项目目录
├── app01 # app 目录
│   ├── admin.py # django 自带的管理后台,可以使用少量的代码完成强大的后台管理
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py # 与数据库相关,ORM 配置
│   ├── tests.py
│   └── views.py # 处理用户请求,通过 URLconf 调用函数,处理用户的请求,通过 template 渲染之后返回给客户端
├── Day15
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-35.pyc
│   │   └── settings.cpython-35.pyc
│   ├── settings.py # 项目的配置目录
│   ├── urls.py # 路由系统 URLconf 配置文件,通过一定的匹配关联到 views.py 中的函数
│   └── wsgi.py # 通过 wsgi 调用 django 的配置文件
├── manage.py # 命令行工具,允许以多种方式与 django 项目进行交互
├── statics # 静态文件目录,手动创建,需要在 settings 中指定
└── templates # 模板文件目录,手动创建,需要在 settings 中指定

2、生成数据库并创建超级管理员

# 同步数据库
python3.5 manage.py makemigrations
python3.5 manage.py migrate # 创建超级管理员账号
python3.5 manage.py createsuperuser

默认情况下会在 project 的 manage.py 同级目录下生成一个 db.sqlite3 文件,因为 django 默认使用的是 sqlite3 数据库

3、运行 Django 项目

python3.5 manage.py runserver 127.0.0.1:8000

默认在 127.0.0.1 地址监听 8000 端口,也可通过 IP:port 的格式指定监听地址和端口

4、访问 Django admin

http://127.0.0.1:8000/admin

5、自定义简单的 Django 页面

编辑 app01 目录下的 views.py 文件

# django 在给客户端返回数据时需要通过 HttpResponse 方法进行封装
from django.shortcuts import HttpResponse # Create your views here. # HttpResponse 的参数可为为 HTTP 代码,如 <h1>Hello World!</h1>
def hello(request):
return HttpResponse("Hello World!")

编辑 Day15 目录下的 urls.py 文件

from django.conf.urls import url
from django.contrib import admin # 导入 views
from app01 import views urlpatterns = [
url(r'^admin/', admin.site.urls), # url 目录
url(r'^hello/', views.hello),
]

重新启动 django 项目,访问 http://127.0.0.1:8000/hello/

Django 入门的更多相关文章

  1. 【django入门教程】Django的安装和入门

    很多初学django的朋友,都不知道如何安装django开发以及django的入门,今天小编就给大家讲讲django入门教程. 注明:python版本为3.3.1.Django版本为1.5.1,操作系 ...

  2. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  3. python学习笔记--Django入门四 管理站点

    上一节  Django入门三 Django 与数据库的交互:数据建模 "管理员界面"是基础功能中的重要部分. django.contrib 包 Django自动管理工具是djang ...

  4. Django入门实践(三)

    Django入门实践(三) Django简单应用 前面简单示例说明了views和Template的工作过程,但是Django最核心的是App,涉及到App则会和Model(数据库)打交道.下面举的例子 ...

  5. Django入门实践(二)

    Django入门实践(二) Django模板简单实例 上篇中将html写在了views中,这种混合方式(指Template和views混在一起)不适合大型开发,而且代码不易管理和维护,下面就用Djan ...

  6. Django入门实践(一)

    Django入门实践(一) Django编程思路+入门 认识Django有一个多月了,我觉得学习Django应该先理清它的编程思路.它是典型的MVC框架(在Django里也称MTV),我觉得Djang ...

  7. Django入门笔记

    Django入门笔记 **文档包含Django安装包.学习的笔记.代码等 安装 Django参考附件,只需要把附件拷贝到你需要的目录就行.Django是1.8.16版本 Python:在附件中,其中有 ...

  8. Django 入门案例开发(上)

    Django 入门案例开发(中) http://www.cnblogs.com/focusBI/p/7858267.html Django是一个重量级的web开发框架,它提供了很多内部已开发好的插件供 ...

  9. 【Python全栈-后端开发】Django入门基础-2

    Django入门基础知识-2 一 .模版 一.模版的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1  变量(使用双大括号来引用变量) {{var_name}} 2  标签(tag)的使用 ...

随机推荐

  1. php分页类代码和使用

    在这要说的一点就是如果你做的分页是有搜索条件的,那么就可以用下面的代码,然后调用之后在new Page()里面把连接加进去就可以了.例如: $href="http://www.***.cn/ ...

  2. java数据结构--线性结构

    一.数据结构 数据结构由数据和结构两部分组成,就是将数据按照一定的结构组合起来,这样不同的组合方式有不同的效率,可根据需求选择不同的结构应用在相应在场景.数据结构大致 分为两类:线性结构(如数组,链表 ...

  3. Image控件播放 GIF文件

    uses Vcl.Imaging.GIFImg;procedure TForm1.Button2Click(Sender: TObject);begin    Image1.Picture.LoadF ...

  4. 深度剖析:CDN内容分发网络技术原理--转载

    1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...

  5. WPF组件开发

    在做组件之前,为了适应框架,我们需要有一个基类,并将这个基类打包成一个模板,让大部分组件去使用这个模板. 组件的基类就不多讲了,上篇文章中已经说过了.这是地址: http://www.cnblogs. ...

  6. 源码解析之–YYAsyncLayer异步绘制

    来源:伯乐在线专栏作者 - Shelin 链接:http://ios.jobbole.com/86878/ 点击 → 了解如何加入专栏作者 前言 YYAsyncLayer是异步绘制与显示的工具.最初是 ...

  7. 一个小时成功安装SQL Server 2012图解教程

    在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB. 安装SQL S ...

  8. Linux Bash算数运算方法小结

    A= B= 方法1:let(中间无空格) let C=$A+$B 方法2:$[  ] C=$[$A+$B] 方法3:$(()) C=$(($A+$B)) 方法4:expr(中间有空格) C=`expr ...

  9. phpQuery轻松采集网页内容

    原文地址:phpQuery轻松采集网页内容作者:陌上花开 phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息.更有意思的是,它 ...

  10. 使用 text-overflow: ellipsis溢出文本显示省略号时碰到的小问题

    本人刚刚实习,第一次写东西,希望大家多多鼓励. 项目中需要实现标题超过一定长度以省略号的形式显示,不是什么难的问题.可是我不想用js实现,就百度了发现text-overflow: ellipsis;( ...