三、网址的对应与委派

2018-07-10  本文已影响0人  zhile_doing
  1. Django的MTV架构
    在说明网址委派的细节之前,我们必须先了解Django运行架构是什么,经常可以听到MVC框架,M即是model,是我们要操作的数据结构,V是view,是显示给用户看的视图,C是control,控制model与view进行交互,数据流动等。在Django中,M表示model,是我们定义的数据结构,T表示templates,模板,Django通过渲染jinja2模板显示前端页面,V表示view,相当于Controller,控制数据在model与templates之间流动。

  2. 网址的对应
    当用户访问某个URL时,后端应用应该能分辨出,应该使用哪一个函数来处理用户的请求。需要在urls.py文件中指定,何种模式的url用哪一个view函数来处理。Django使用URLconf模块来执行该功能,在urls.py中使用正则表达式指定url格式。当我们启用管理员后,urls.py中的内容类似于这样



    在urlpatterns列表中使用url函数来指定一个模式,字符串前导符r表示原始字符串,忽略其中特殊字符的含义。url的第二个参数就是处理该url的视图,此处表示,如果网址匹配admin开头,则以admin模块中的url分配为准

  3. 一个简单的例子
    先来看一个helloworld,在视图函数文件views中编写返回helloworld的函数,并在url文件中添加对应关系



    对应关系



    访问

    在设计网址对应时,需要注意唯一性,最好以 '/' 结尾,如果希望该网址后面没有内容,最后要加$
  4. 使用小括号传递参数
    有时候参数会包含在url中,从url中获取参数也应该是自动化的过程
    在url的parttern中使用小括号包围起来的部分,被匹配到的内容会被当做参数传递到后端,看下面一个例子
    url映射



    视图函数



    访问
  5. 为参数命名
    当传递的参数较多,可以为参数命名来增加可读性,命名的语法如下
    r'article/(?P<param_name>expression)
    将之前的例子添加名称
    映射如下


    函数如果要使用传输的参数,则需要使用我们自己命名的名称

    访问

    可以在view函数中的参数指定默认值,这样当url没有给出值的时候,默认参数就可以生效

    访问


  6. include其他整组pattern设置
    可以设置自己的pattern组,当需要时直接使用include引用即可
    url映射



    编写相应的company函数后访问


上一篇下一篇

猜你喜欢

热点阅读