Django教程1-MVC

上网导航 2023-08-11 232 0条评论
摘要: 用过python的小伙伴们都会有这样的体会,简洁快速的语法强大的库能让我们毫不费力,又能十分畅快的写出我们想...

用过python的小伙伴们都会有这样的体会,简洁快速的语法强大的库能让我们毫不费力,又能十分畅快的写出我们想要的程序。Pythonconsole 中输入import this就能看到python的哲学。当然python也有很多这样“简单就是美”的web框架,比如web2py、web.py、flask、Tornado、Pecan、CherryPy等等。针对不同的框架,网友们也有着不同的观点。我们这边不对这点进行讨论,“没有不好的框架,只有不好的程序员”:)我们公众号就是致力于让小伙伴了解学习Django这个web框架。

Django是十分优秀的web框架,我们都知道web开发是十分令人激动的有十分富有创造性,但是开发过程也是很繁琐,令人生厌。Django对于开发模式进行了高度抽象化,让你可以专注于web开发中那些有趣而又是关键性的东西。

MVC设计模式

Django教程1-MVC

Django采用MVC的设计模式,Django说是自己使用了MVT的架构,其含义其实是model– view - template。现在有些不理解也没有关系,之后我们会对于MVT有详细的学习。MVC是一种软件开发的方法,它把代码的定义和数据访问的方法(模型)与请求逻辑(控制器)还有用户接口(视图)分开来。这种设计模式的有点就在于各个组件都是松散结合的,就是我们常说的低耦合。使用django开发的web应用都有这样的特点:可以修改一个层级中的内容,同时又不影响其他部分。前端开发着可以修改页面样式(template中的内容),不需要关心python代码(view或是model)。下面我们来看一下django的小例子:

首先,我们分成4个Python的文件,(models.py,views.py,urls.py)和html模板文件(latest_books.html)

models.py:

from django.db import models
class Book(models.Model):
    name = models.CharField(max_length=50)
    pub_date = models.DateField()

views.py:

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:

from django.conf.urls.defaults import *
import views
urlpatterns = patterns('',
    (r'^latest/$', views.latest_books),
)

lastest_books.html:

Books

Books

    {% for book in book_list %}
  • {{ book.name }}
  • {% endfor %}

本例子来自djangobook 2.0 我们不用开关心语法,之后会详细介绍,先对于django项目结构有一个直观的了解。

参考文献:The Django Book 2.0

文章版权及转载声明:

作者:上网导航本文地址:https://www.90xe.com/post/1702.html发布于 2023-08-11
文章转载或复制请以超链接形式并注明出处技术导航

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏