三部曲
1. 简介
Django是python语言的Web开发框架。
概述
Django(发音:/ˈdʒæŋɡoʊ/ JANG-goh) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守 BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。最新发行版本是Django 1.3.1,于2011年09月10日发布.
Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。
设计哲学
Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。
Django基于MVC的设计十分优美:
对象关系映射 (ORM,object-relational mapping)
以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。
URL 分派
使用正则表达式匹配URL,你可以任意设计的URL,没有框架的特定限定。象你喜欢的一样灵活。
模版系统
使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。
表单处理
你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。
Cache系统
可以挂在内存缓冲或其它的框架实现超级缓冲 -- 实现你所需要的粒度。
会话(session),用户登录与权限检查
快速开发用户会话功能。
国际化
内置国际化系统,方便开发出多种语言的网站。
自动化的管理界面
不需要你花大量的工作来创建人员管理和更新内容。Django自带一个ADMIN site,类似于内容管理系统。
部署
Django可以运行在Apache上,也可以运行在支持WSGI,FastCGI的服务器上。支持多种数据库,已经支持Postgresql, MySql, Sqlite3,Oracle。
目前,Google App Engine也支持Django的某些部分。
文档
Django1.0 建立了强大完整的文档体系 [1](http://docs.djangoproject.com/en/dev/),涵盖了Django的方方面面,并且适合各种水平的读者和开发者. 其中还包含若干个简单的示例,你可以跟随他们一步步体验Django的优美。
2. 安装部署及开发工具
下载地址:
https://www.djangoproject.com/download/
当前下载包:
Django-1.3.1.tar.gz
解压缩Django到C盘根目录
进入DJANGO目录
C:\Django-1.3.1
执行安装命令:
c:\Django-1.3.1> python setup.py install
如果命令失败你可以手动将 Django目录拷贝到 Python安装目录中的LIB/SITE-PACKES中去
最后一步请将 Django-x.xx\django\bin 中的django-admin.py 拷贝到c:\windows 或者 Python的安装目录中去。
测试安装是否成功:
c:\>django-admin.py --version
1.3.1
安装完成
开发工具使用
使用eclipse
给Eclipse安装PyDev插件
启用Eclipse————如果前面的步骤都正确无误的话,那么Eclipse就该能够正常启动了。
第一次启动会让你选择一个工作空间,按缺省设置,勾选一下不再提醒,就可以了。
在Help菜单中,选择Install New Software···,
选择Add按钮,Name:PyDev(这个随便起),Location:http://pydev.org/updates(PyDev的更新地址),OK
选择PyDev下的PyDev for Eclipse,别的都不要选,否则依赖检查那关过不去。 (注3)
点下一步,下一步安装
中间会问你是否信任Aptana、Pydev什么的,信任就可以了
最后重启Eclipse
3. Demo
3.1 使用eclipse创建项目:
3.1.1 创建项目:
a. 选择File->New->Other...
b. 选择PyDev->Django->project
c. 按照对话框创建项目
eg:
project:DjangoDemo
version:2.6(python version)
选择数据库。。。
3.1.2 创建application
选择项目->右键->Django->create application
3.1.3 运行
选择项目->右键->run as->Pydev:Django
3.2 使用python命令(备选)
如果你想在指定目录中创建你的项目那么请提前进入目录,我要将项目保存在目录 c:\pysys 中:
执行(同时需要把django-admin.py拷贝到该目录下):
C:\pysys>python django-admin.py startproject DjangoDemo
随后大家可以看到在 DjangoDemo目录下生成了 4 个文件:
__init__.py
manage.py
settings.py
urls.py
分别解释一下:
【__init__.py】在Django中,一个项目可以理解成为一个包,这个文件就是告诉PYTHON需要把当前的这个文件夹当作一个“包”来对待。包在PYTHON专业术语中叫做一个模块的集合,它被用来组织相似的文件集合并防止命名冲突。
【manage.py】这是一个实用工具脚本,用来管理你所创建的当前项目,你可以把它理解为先前我们查看Django版本用 django-admin.py 文件,事实上,他们使用的是相同的后端代码。
【settings.py】这是django项目的主要配置文件,在这个文件中你可以指定变量属性,包括诸如数据库设置,站点语言设置。
【urls.py】这同样也是一个配置文件,你可以把它理解为映射URL和Python的功能函数,并处理他们,这是Django中一个比较强大的功能。
安装成功后我们来配置 setting.py 文件:
打开文件设置 --
DATABASE_ENGINE = 'mysql'(在1.3版本中该处更改为 django.db.backends.mysql)
DATABASE_NAME = 'python_project' #自己创建的数据库名称
DATABASE_USER = '' #填写数据库用户名
DATABASE_PASSWORD = '' #填写数据库密码
配置完后打开命令行,在项目目录下输入: python manage.py syncdb 初始化数据库,系统会提示你创建一个superuser 项目超级用户,成功后请查看数据库中表格,看看是否已经成功添加了若干数据表。
启动项目并浏览:python manage.py runserver
python manage.py runserver 0.0.0.0:8000
打开你的浏览器,输入:localhost:8000 看看是不是已经成功的启动了项目(如果你想使用不同的端口请输入 python manage.py runserver 8080)。
到此Django项目简单创建完成
3.3 简单例子
django是一个典型的MVC WEB开发框架,但是在Django中我们把view视为controllor, 把template视为view。也就是变了个名字,其实意义还是相同的,如果各位读者还不明白MVC的含义,请主动GOOGLE一下。
在Django中,view用来检索和操作数据,但是通过template把数据展示给浏览者。它和MVC本质是相同的,但请大家不要搞混了术语的叫法。
当我们运行一个项目时,系统会生成一个默认欢迎页面,作为程序员我们第一个思考的问题就是如何建立我们自己的“欢迎页面”?为了实现这一点,我们需要创建一个“接入点”,并通过URL的形式指向我们的应用程序,当有人访问这个这个URL的时候,Django召唤特定的函数。
一个是view其实就是python函数,通过产生相应页面来回应页面请求。如果我们想要创建自己的主页,那么先要在项目中创建一个“应用程序”:
python manage.py startapp bookmarks
这个命令执行后同样会生成4个文件,抛开test.py文件,其余3个为:
【__init__.py】告诉python, bookmarks也是一个包
【view.py】这就是一个view文件
【models.py】 用来和数据库打交道的model
下面我们首先来编辑 view.py
from django.http import HttpResponse
def main_page(request):
output = '''
<html>
<head><title>%s</title></head>
<body>
<h1>%s</h1><p>%s</p>
</body>
</html>
''' % (
'Django Bookmarks',
'Welcome to Django Bookmarks',
'Where you can store and share bookmarks!'
)
return HttpResponse(output)
解释一下上述代码:
我们从django.http中引入了HttpResponse类,我们需要它是为了生成响应页面。
我们定义了一个python函数,并使用了参数request,这个参数将包括用户的输入和其他的信息,比如request.get request.post
然后我们用HTML构建了一个响应页面,包在httpresponse对象中并将它返回。
在输出这个页面之前,我们需要配置URL文件。
编辑url.py文件:
from django.conf.urls.defaults import *
from bookmarks.views import *
urlpatterns = patterns('',
(r'^$', main_page),
)
回顾先前讲到的URL文件,它随着我们创建项目而自动生成,这个文件中包含了应用程序的有效URL链接,把每一个URL都映射到一个Python函数。
URL的语法看上去并不陌生,它是一个典型的正则表达式类型。
首先我们看到,我们从 django.conf.urls.defaults 引入了所有,这个模块提供了定义URL的必要函数。
其次,我们从 bookmarks.views 引入了所有,这个是连接到我们的view文件所必须要做的
最后是patterns函数定义URL表,把r'^$' 映射到 main_page函数
这个正则表达式可能让你比较郁闷,它是一个包含了两个字符的原始字符串(raw string,我们用 r' '来表示原始字符串), ^ 和 $,如果python碰到了原始字符串,那么反斜杠和空白序列将保留在该字符串中。
在正则表达式中 ^表示字符串的开始,$表示字符串的结束,那么^$就表示不包含任何内容,也就是一个空字符串。如果我们想访问main page并把它作为根,那么我们不需要URL前包含任何东西。
正则在python中的详细解释:
http://docs.python.org/lib/module-re.html
这种URL管理方式给了我们很大的灵活性,它不同于传统的,通过文件来表示链接的PHP, (当然了,有些PHP框架已经改进了它的URL管理方式,也能通过函数来表示链接),也不同于mod_python中无法自动映射函数,给我们完全的自由去将URL和函数对应。
虽然我们的页面比较简单,但我们将来可以用templated来将其加工和修改,接下来我们需要研究的是数据库模块 database models 和如何存储及管理我们的数据。
参考地址:
eclipse pydev plugin 开发指南
http://pydev.org/manual_adv_django.html
django
https://www.djangoproject.com/download/
文档:
https://docs.djangoproject.com/en/1.3/
分享到:
相关推荐
《Django入门与实践》这份资源是一份针对初学者的Python Web开发教程,重点介绍了Django框架的基础知识和实际应用技巧。Django是Python编程语言中最受欢迎的Web框架之一,以其“快速、可扩展且优雅”的特性深受...
【Django入门与实践教程1】是一份针对初学者的详尽教程,旨在引导读者从零开始构建一个实际的Django项目。教程涵盖了从环境搭建到项目部署的全过程,涉及了Django框架的核心概念和技术。 首先,【环境搭建】章节会...
Python Django入门源码是针对初学者的一份宝贵的教育资源,它涵盖了Python编程语言的基本概念以及Django框架的基础应用。Django是用Python编写的一款高级Web框架,它遵循模型-视图-控制器(MVC)设计模式,旨在简化...
【Python Django入门教程】 Django是一个基于Python的开源Web应用框架,遵循MVC(模型-视图-控制器)设计模式,但在Django中通常被称为MTV模式。它的核心目标是简化复杂、数据库驱动的网站开发,强调组件的重用性、...
**DJango入门案例详解** Django,作为Python领域内的一个强大Web框架,因其高效、安全且易于学习的特点,被广大开发者所青睐。本教程将基于一个实际的入门案例,逐步介绍如何使用Django从零开始构建一个简单的网页...
这个入门实例将引导我们了解如何利用Django进行用户信息的增删改操作,这也是Web应用中常见的功能需求。下面,我们将详细探讨这个主题。 首先,我们需要了解Django的基本结构。一个Django项目通常由多个应用程序...
**Django入门到放弃**,这是一段概括性的话语,暗示了从初识Django到深入学习的过程中可能会遇到的挑战。Django是一个基于Python的Web框架,它以其高效、安全和可扩展性著称,是许多开发者构建Web应用的首选工具。本...
Python——Django 入门教程 本文将详细介绍 Python 中的 Django 开发框架,包括 Django 的历史、设计哲学、MVC 和 MTV 设计模式、环境搭建、第一个 Django 应用等知识点。 Django 简介 Django 是一个由 Python ...
Django入门新闻管理系统。入门的,新手可以看下哈。。。 ================================================== Django的环境: Python的安装: python-2.7.1.msi Django的安装: 去djangoproject.com下载最新的版本...
标题《Python3 Django入门与实践》所指的是介绍Python语言开发的Django Web框架入门与实践的书籍。Django作为一个高级的Python Web框架,遵循MVC(模型-视图-控制器)架构模式,拥有强大、快速、安全等特点,适合...
以上内容涵盖了Django入门与实践的方方面面,从最基本的环境搭建到最终的项目部署。每个章节都紧密结合实践,穿插有实例和项目练习,使得教程既浅显易懂又具有实用性,非常适合对Python Web开发感兴趣的新手使用。...
在Django入门中文文档中,首先会介绍Django的基本概念和架构,然后引导学习者完成Django的安装。文档会从Django的基本概念入手,比如“模型层”、“视图层”、“模板层”和“表单”等,帮助初学者构建起整个Web应用...
"Django入门与实践" 本文档提供了 Django 框架的入门和实践指南,涵盖了从基础到高级的知识点。下面是本文档的知识点摘要: 一、Django 介绍 * 什么是 Django?Django 是一个基于 Python 的免费开源 web 应用框架...
**Django入门博客实例源码解析** Django是一款用Python编写的高级Web框架,它遵循“ Batteries Included ”的理念,提供了许多内置功能和强大的工具,让开发者能够快速地构建高质量的Web应用。在这个入门博客实例中...
Django入门基础教程:django模板 Django入门基础教程:django模板
【标题】:“Django入门和安装环境+MYSQL” 在Python Web开发领域,Django是一个非常受欢迎的开源框架,以其“ Batteries included ”的理念,提供了许多内置功能,如ORM(对象关系映射)、模板引擎、身份验证系统...
**Django入门项目源码分析** 本项目是一个基于Django框架构建的简单入门级应用,旨在帮助初学者了解和掌握Django的基本用法和核心概念。Django是Python编程语言中的一款强大、高效的Web开发框架,它遵循模型-视图-...
【Django入门】 Django是Python的一个高级Web框架,它以“快速开发”和“约定优于配置”的理念为核心,提供了一整套强大的功能,包括模型(ORM)、模板系统、URL路由、表单处理以及内置的认证和管理界面等。本文将...
### Django入门开发文档知识点概述 #### 一、Web框架概览 - **Web框架定义**:Web框架是一种软件工具包,旨在简化Web应用程序的开发过程。它为开发者提供了一个结构化的环境,允许他们专注于应用程序的功能性开发,...