码迷,mamicode.com
首页 > 其他好文 > 详细

django

时间:2019-10-07 00:36:08      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:imp   括号   info   展示   lan   需要   ase   创建文件   它的   

MTV
Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:

    1. M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
    2. T 代表模板 (Template):负责如何把页面展示给用户(html)。
    3. V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。
      除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示:

    技术图片

 

 


pip3 install django
django-admin.py startproject mysite
python manage.py startapp xxx
python manage.py runserver (端口号)


静态文件配置:
  项目中css/js处理成静态文件
   - 项目下创建文件夹 statics
   - settings下写 STATICFILES_DIRS = [
   os.path.join(BASE_DIR,‘statics)
]

    技术图片

 

 

     都用static_url ==> static (别名)

 


 

简单路由配置:

  re_path: 

    - ^ xxx $ : 以...开头 以...结尾

    - re_path(‘^year/([0-9]{4})/$‘,views.year) :以...开头 0-9 匹配四次  以...结尾  一个括号代表一个组===》 

      views下    

      def year(request,year):

        print(year)

        return HttpResponse("ok")

      有分组就多一个位置参数

    - 有名分组(给每个组起名字 ?P<组名>:

       re_path(r‘^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/$‘, views.article_detail),

       def  article_detail(year,month,day):

          xxxxx


 

分发:

  from django.urls import,include

  全局:

    -re_path("^app1/",include(‘app1.url‘))
 项目:
- 以app1开头 匹配到app1下url.py文件


反向解析:
  - 模板中反向解析
  技术图片

 

   技术图片

 

   - views中反向解析

    from django.urls import reverse

     技术图片

    技术图片

    注意 有正则分组需要传参

    url = reverse(‘xxx‘,args=(‘xxx‘,)) 


 

 

  

 

 

  

django

标签:imp   括号   info   展示   lan   需要   ase   创建文件   它的   

原文地址:https://www.cnblogs.com/Jnhnsnow/p/11628996.html

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