收藏 分享(赏)

Django-入门.ppt

上传人:weiwoduzun 文档编号:5424866 上传时间:2019-03-01 格式:PPT 页数:41 大小:1.48MB
下载 相关 举报
Django-入门.ppt_第1页
第1页 / 共41页
Django-入门.ppt_第2页
第2页 / 共41页
Django-入门.ppt_第3页
第3页 / 共41页
Django-入门.ppt_第4页
第4页 / 共41页
Django-入门.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、,Django,-完美主义者快速开发之选,By Jetway from HDU_CloudCenter -2012/3/28,历史,许多年前,劳伦斯出版集团需要开发一个以新闻内容为主的网站。众所周知,对于新闻网站来说,需求变化很快,互动性也很高,历史,于是,world online的三位工程师使用python开发了Django。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。,Jacob Kaplan-Moss jacobian,Adrian Holovaty adrianholovaty,Simon Willison simonw,设计哲学,Django的主要目

2、的是简便、快速地开发数据库驱动的网站动态网站。 Django强调代码复用,多个组件可以方便地以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件。 Django强调快速开发,DRY 基于MVC(更确切的说是MTV),为什么是python,我想可能是一下几点: 1、oop 2、module机制,松耦合,模块插入方便 3、代码简洁 4、功能强大,模块多总结起来:python技术就是django技术,为什么要快速开发,如果我们只考虑时间代价,时间短往往意味着客户更满意,Time,为什么要快速开发,并且你还可以有余力开发第二个版本,Time,Django应用,最著名的当然就是Googl

3、e AppEngine 基于Django Django应用可以很方便地在它上面部署,Django开发工具,非得用IDE的话,我推荐PyCharm本人喜欢txt文本直接编辑,预备知识,Python基础知识 Html和css一点点,其他前端技术知道更好 数据库一点点 正则表达式一点点,构建一个BLOG,1、安装python建议使用python2.7下载地址: http:/www.python.org/getit/releases/2.7/windows下安装比较简单,只需一直下一步,最后导出环境变量就好了:c:Python27;c:Python27scripts;,构建一个BLOG,2、安装Dja

4、ngo 下载地址: https:/ 直接将下载的Django-1.3.1.tar.gz解压python的安装目录下,在cmd中进入该目录,输入:python setup.py install 最后,把C:Python27Scripts加入环境变量PATH中,构建一个BLOG,3、创建项目 输入: python D:Python27Scriptsdjango-admin.py startproject myblog 然后我们就可以看到:,构建一个BLOG,说明: _init_.py用于打包python工程 manage.py文件是Django中的一个工具 setting.py文件包含了项目的默认

5、设置。包括了数据库信息、调试标志以及其他一些重要的变量。 urls.py文件在django里叫URLconf,将URL映射到你应用程序的配置文件。,构建一个BLOG,4、运行开发服务器: 在myblog目录下,输入: python manage.py runserver 然后在浏览器中输入: 127.0.0.1:8000,构建一个BLOG,5、创建blog应用 在myblog目录下,输入: Python manage.py startapp blog,构建一个BLOG,6、在setting.py文件中,找到INSTALLED_APPS元组,加入以下行:myblog.blog,构建一个BLOG,

6、7、设计model, 在models.py文件中输入: from django.db import modelsclass BlogPost(models.Model):title = models.CharField(max_length = 150)body = models.TextField()timestamp = models.DateTimeField(),构建一个BLOG,8、设置数据库 我使用的是mysql,并且建立了djangodb数据库。所以在setting.py中,加入:ENGINE: mysql, NAME: djangodb,USER: root,PASSWORD:

7、 123456,HOST: localhost, PORT: ,构建一个BLOG,9、创建表: 输入:python manage.py syncdb,构建一个BLOG,10、设置自动admin应用 打开setting.py,INSTALLED_APPS里加入: django.contrib.admin,然后,命令行中输入: Python manage.py syncdb,构建一个BLOG,11、设置urls.py 只要去除以下行的#就可以了: #from django.contrib import admin #url(radmin/, include(admin.site.urls), 12

8、、最后就是告诉django,在admin窗口里显示哪一个model,只需在model.py中加入以下行: from django.contrib import admin admin.site.register(BlogPost),构建一个BLOG,13、运行 python manage.py runserver 在浏览器里输入: 127.0.0.1:8000/admin/,动态网站,用户向web服务器请求一个文档 Web服务器随即获取或生成这个文档 服务器再把结果返回给浏览器 浏览器将这个文档渲染出来,MVC,MVC,MVC把web分为数据模型,控制器和视图三层,可以使业务逻辑与数据表现分开

9、;说白了,美工搞美工的,后台搞后台的,互不干扰,发挥各自优势,Django是MTV分层,Django遵循了MVC(model-view-controller)这个分层方式,但是确切的说是MTV分层。 Mmodel,数据模型 Ttemplate,模板 Vview,视图,Django是MTV分层,Model层 1、使用的是ORM 2、我们所能控制的就是models.py文件 3、负责数据库管理,Django是MTV分层,models.py文件 1、我的理解是,一个类对应数据库的一张表 2、前面构件blog时: from django.db import models #导入内置数据库处理模块cla

10、ss BlogPost(models.Model):title = models.CharField(max_length = 150) #标题body = models.TextField() #正文timestamp = models.DateTimeField() #时间戳 admin.site.register(BlogPost) #注册要管理的数据对象,Django是MTV分层,Template层 1、负责怎么样显示数据 2、说白了,就是利用一些格式化的html文件,使数据按照要求显示(显示在哪里,怎么显示等等) 3、需要在工程目录下,建立templates文件夹,然后在settin

11、g.py中设置好templates目录的路径。然后在此目录中建立所需html文件。,Django是MTV分层,在之前的blog应用中,我们要制作一个显示所有blog条目(title)的页面。 list.html博客条目列表: % for list in title_array %list.item_title ,Django是MTV分层,View层 1、django中的view层是用于控制要显示什么数据 2、我们能看到的就是views.py文件,Django是MTV分层,views.py(可以是任意名字) 既然是要控制显示的数据,那么要显示之前的blog数据呢?比如列出所有的title fro

12、m django.shortcuts import render_to_response from myblog.blog.models import BlogPostdef list_title(request):title_array = for title_data in BlogPost.objects.all():title_da = title_da“item_title” = title_data.titletitle_array.append( title_da )return render_to_response(list.html, title_array : title_

13、array),Django是MTV分层,最后就差URLconf把模型,模板和视图串联起来了。 在urls.py文件中: from django.conf.urls.defaults import patterns, include, url from django.contrib import adminurlpatterns = patterns(,url(radmin/, include(admin.site.urls),url(rlist/$, myblog.blog.views), ),Django是MTV分层,好吧,列出title的网页算是完成了 在浏览器中输入127.0.0.1:8

14、000/list Django会根据urls.py文件找到myblog文件夹下blog目录中的views.py文件中list_title函数,然后根据model.py文件找到数据库中BlogPost表中title列,并输出到list.html文件中,最后浏览器渲染出我们所需的网页。,Django的过程,Django的过程,Web服务器收到一个http请求 Django把web服务器传过来的请求转换成一个请求对象 Django在URLconf里查找正确的视图函数 调用这个视图函数,参数为请求对象以及任何捕捉到的URL参数 然后视图会创建并返回一个响应对象 Django将这个响应对象转换成web服务器可以理解的格式 Web服务器将响应发送给客户端,Django一些可重用的模块,Django提供了很多可重用的模块 Django的modules机制是松耦合的,也就是说你可以很方便的插入这些模块 减少了多余的编写代码工作,Django一些可重用的模块,资料,Django book django web 开发指南 https:/ you!,Q&A,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报