码迷,mamicode.com
首页 > 编程语言 > 详细

【Python之路】第二十二篇--Django【基础篇】

时间:2017-03-31 00:48:36      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:strong   div   alt   django   模式   web应用   ora   event   demo   

1 Django流程介绍

MTV模式      

        著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。

        模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器(C)接受用户的输入调用模型和视图完成用户的请求。

        技术分享

       Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:

       Model(模型):负责业务对象与数据库的对象(ORM)

       Template(模版):负责如何把页面展示给用户

       View(视图):负责业务逻辑,并在适当的时候调用Model和Template

       此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

技术分享

2 Django URL

URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。URL的加载是从配置文件中开始。

urlpatterns = [
    url(正则表达式, view函数,参数,别名),
]

urlpatterns = [
    url(r^admin/, admin.site.urls),
    url(r^index/, views.index , {"abc":123} , FFF),
]

参数说明:

  • 一个正则表达式字符串

  • 一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串

  • 可选的要传递给视图函数的默认参数(字典形式)

  • 一个可选的name参数

技术分享
from django.conf.urls import url
from app01 import views

urlpatterns = [
    url(r^index/, views.index),
    url(r^articles/([0-9]{4})/$, views.year_archive),
    url(r^articles/([0-9]{4})/([0-9]{2})/$, views.month_archive),
    url(r^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$, views.article_detail),
]
demo

带分组的正则:

urlpatterns = [
    url(r^index/, views.index),
    url(r^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$, views.month_archive),
]

def index(request,abc):
    return HttpResponse(index !)

def month_archive(request,year,month):
    return HttpResponse(month_archive !)

传值给 month_archive 函数的year,month参数为string类型,尽管他匹配的是int类型

 

【Python之路】第二十二篇--Django【基础篇】

标签:strong   div   alt   django   模式   web应用   ora   event   demo   

原文地址:http://www.cnblogs.com/5poi/p/6649101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!