Django框架里的MVC思想MVC 设计模式
来源:互联网 发布:新媒体沟通软件 编辑:程序博客网 时间:2024/04/30 06:21
Django框架里的MVC思想
MVC 设计模式条目创建于 2013-07-15 9799 views
服务器君一共花费 35.039 ms 进行了 3 次数据库查询,努力地为您提供了这个页面。
- Chapter: Django 入门知识浅介
- 1. Python Web框架(Django)的必要性
- 2. Django框架里的MVC思想
- 3. 先了解一下Django的历史
- 4. 关于Python与Django的一些背景知识
- 5. 第一个Django程序:Hello World
- 6. 再写一个Django动态程序
- 7. 用Django实现动态URL
- 8. Django的搜索路径与Import机制
- 9. Django是如何处理URL请求的
- 10. Django的一些优缺点评析
让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过Web框架来实现的功能与之前的方式有何不同。 下面就是通过使用Django来完成以上功能的例子: 首先,我们分成4个Python的文件,(models.py , views.py , urls.py ) 和html模板文件 (latest_books.html )。
models.py:
1
# models.py (the database tables)
2
3
from
django.db
import
models
4
5
class
Book(models.Model):
6
name
=
models.CharField(max_length
=
50
)
7
pub_date
=
models.DateField()
views.py:
1
# views.py (the business logic)
2
3
from
django.shortcuts
import
render_to_response
4
from
models
import
Book
5
6
def
latest_books(request):
7
book_list
=
Book.objects.order_by(
'-pub_date'
)[:
10
]
8
return
render_to_response(
'latest_books.html'
, {
'book_list'
: book_list})
urls.py:
1
# urls.py (the URL configuration)
2
3
from
django.conf.urls.defaults
import
*
4
import
views
5
6
urlpatterns
=
patterns('',
7
(r
'^latest/$'
, views.latest_books),
8
)
latest_books.html:
01
# latest_books.html (the template)
02
03
<html><head><title>Books<
/
title><
/
head>
04
<body>
05
<h1>Books<
/
h1>
06
<ul>
07
{
%
for
book
in
book_list
%
}
08
<li>{{ book.name }}<
/
li>
09
{
%
endfor
%
}
10
<
/
ul>
11
<
/
body><
/
html>
不用关心语法细节,只要用心感觉整体的设计。 这里只关注分割后的几个文件:
- models.py 文件主要用一个 Python 类来描述数据表。 称为 模型(model) 。 运用这个类,你可以通过简单的 Python 的代码来创建、检索、更新、删除 数据库中的记录而无需写一条又一条的SQL语句。
- views.py文件包含了页面的业务逻辑。 latest_books()函数叫做视图。
- urls.py 指出了什么样的 URL 调用什么的视图。 在这个例子中 /latest/ URL 将会调用 latest_books() 这个函数。 换句话说,如果你的域名是example.com,任何人浏览网址http://example.com/latest/将会调用latest_books()这个函数。
- latest_books.html 是 html 模板,它描述了这个页面的设计是如何的。 使用带基本逻辑声明的模板语言,如{% for book in book_list %}
这种设计模式关键的优势在于各种组件都是 松散结合 的。这样,每个由 Django驱动 的Web应用都有着明确的目的,并且可独立更改而不影响到其它的部分。 比如,开发者 更改一个应用程序中的 URL 而不用影响到这个程序底层的实现。 设计师可以改变 HTML 页面 的样式而不用接触 Python 代码。 数据库管理员可以重新命名数据表并且只需更改一个地方,无需从一大堆文件中进行查找和替换。
0 0
- Django框架里的MVC思想MVC 设计模式
- Django框架里的MVC思想
- Django框架里的MVC思想
- [Django入门知识浅介]Django框架里的MVC思想
- MVC模式的设计思想
- MVC模式的设计思想
- MVC模式的设计思想
- MVC模式的设计思想
- Django---MVC设计模式
- MVC设计模式:Struts的Action思想
- 框架设计模式mvc
- 设计模式:设计自己的MVC框架
- 设计模式:设计自己的MVC框架
- MVC框架设计思想与设计理念
- MVC框架设计思想与设计理念
- MVC框架设计思想与设计理念
- MVC框架设计思想与设计理念
- mvc设计模式和mvc框架的区别
- asp.net下实现.jsp中的basePath
- jquery文本向上滚动代码带上下翻转按钮
- 定义CGSize、CGRect、CGFloat...这些结构体报错解决方法
- cpu压力测试(linux+Super PI实现)
- ubuntu编译出现:undefined reference to `curl_global_init'
- Django框架里的MVC思想MVC 设计模式
- 网页自适应浏览器方法收录
- Maven多模块项目介绍和搭建
- 文章折叠
- Git的安装、配置;使用它上传、下载
- 页面加载百度地图
- HDU 5795 A Simple Nim(SG打表找规律)——2016 Multi-University Training Contest 6
- 运行caffe自带的两个例子
- javascript touch事件