在之前的java里,咱们会频繁的提到mvc模式,置信大家曾经对这种模式有了初步的意识。同样的,在Django框架里也有着这类模式的应用,尽管在应用的细节上有所差异,不过其根本的原理还是不会变动太大的。上面咱们就Django中建设mvc模式的办法带来介绍,一起看看怎么用吧。

1、阐明

(1)models.py 文件次要用一个 Python 类来描绘数据表。 称为模型(model) 。使用这个类(通过Django自带的ORM实现),你可能通过简略的 Python 的代码来创建、检索、更新、删除 数据库中的记录。

(2)views.py文件蕴含了页面的业务逻辑,latest_books()函数叫做视图。

(3)urls.py指出了什么样的URL调用什么的视图。在这个例子中,/latest/URL将会调用latest_books()这个函数。换句话说,假设你的域名是example.com,任何人浏览http://example.com/latest/将会调用latest_books()这个函数。

(4)latest_books.html 是 html 模板,它描绘了这个页面的设计是如何的。 使用带基本逻辑申明的模板语言,如{% for book in book_list %}。

2、实例

上面是一个简略的例子介绍Django中的MVC(模型-视图-控制器)设计形式:

# models.py (the database tables) from django.db import models class Book(models.Model):    name = models.CharField(max_length=50)    pub_date = models.DateField()  # views.py (the business logic) from django.shortcuts import render_to_responsefrom models import Book def latest_books(request):    book_list = Book.objects.order_by('-pub_date')[:10]    return render_to_response('latest_books.html', {'book_list': book_list})  # urls.py (the URL configuration) from django.conf.urls.defaults import *import views urlpatterns = patterns('',    (r'^latest/$', views.latest_books),)  # latest_books.html (the template) <html><head><title>Books</title></head><body><h1>Books</h1><ul>{% for book in book_list %}<li>{{ book.name }}</li>{% endfor %}</ul></body></html>

以上就是Django中建设mvc模式的办法,对于mvc模式还不太熟悉的,能够对这种模式做一个理解,而后在Django中对mvc模式的无关应用开展练习。