共计 1316 个字符,预计需要花费 4 分钟才能阅读完成。
在之前的 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 模式的无关应用开展练习。
正文完