-
Django的MTV架构
在说明网址委派的细节之前,我们必须先了解Django运行架构是什么,经常可以听到MVC框架,M即是model,是我们要操作的数据结构,V是view,是显示给用户看的视图,C是control,控制model与view进行交互,数据流动等。在Django中,M表示model,是我们定义的数据结构,T表示templates,模板,Django通过渲染jinja2模板显示前端页面,V表示view,相当于Controller,控制数据在model与templates之间流动。 -
网址的对应
当用户访问某个URL时,后端应用应该能分辨出,应该使用哪一个函数来处理用户的请求。需要在urls.py文件中指定,何种模式的url用哪一个view函数来处理。Django使用URLconf模块来执行该功能,在urls.py中使用正则表达式指定url格式。当我们启用管理员后,urls.py中的内容类似于这样
在urlpatterns列表中使用url函数来指定一个模式,字符串前导符r表示原始字符串,忽略其中特殊字符的含义。url的第二个参数就是处理该url的视图,此处表示,如果网址匹配admin开头,则以admin模块中的url分配为准
-
一个简单的例子
先来看一个helloworld,在视图函数文件views中编写返回helloworld的函数,并在url文件中添加对应关系
对应关系
访问
在设计网址对应时,需要注意唯一性,最好以 '/' 结尾,如果希望该网址后面没有内容,最后要加$ -
使用小括号传递参数
有时候参数会包含在url中,从url中获取参数也应该是自动化的过程
在url的parttern中使用小括号包围起来的部分,被匹配到的内容会被当做参数传递到后端,看下面一个例子
url映射
视图函数
访问
-
为参数命名
当传递的参数较多,可以为参数命名来增加可读性,命名的语法如下
r'article/(?P<param_name>expression)
将之前的例子添加名称
映射如下
函数如果要使用传输的参数,则需要使用我们自己命名的名称
访问
可以在view函数中的参数指定默认值,这样当url没有给出值的时候,默认参数就可以生效
访问
-
include其他整组pattern设置
可以设置自己的pattern组,当需要时直接使用include引用即可
url映射
编写相应的company函数后访问
网友评论