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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之路第二十二篇--Django基础篇相关的知识,希望对你有一定的参考价值。

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基础篇的主要内容,如果未能解决你的问题,请参考以下文章

Python开发第二十二篇:Web框架之Django进阶

Python之路(第二十二篇) 面向对象初级:概念类属性

Python之路第二十二篇:轮播图片CSS

Python开发第二十二篇:Web框架之Django进阶

Python之路第二十二章:Django 缓存

Python之路第二十二章:Django 进阶