在之前的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_response from 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模式的有关使用展开练习。更多Python框架指路:django