一个普通用户来,一开始他只知道网址,在浏览器上输入网址,然后获取相应的页面和资源。当用户输入网址,按下回车键后发生了什么呢?
用户肯定不能随意输入一个网址。一个地址只所以有效、能够返回相应页面和资源到浏览器上被用户看到,是因为这个地址是程序提前设定好的,比如输入登录地址就返回登录页面,点击(输入)个人信息地址就返回个人信息页面。
那么在django中,这个地址就配置在路由文件中,这个文件一般命名为 urls.py,不过新生成的app 没有这个文件,需要手动创建。
用户输入了一个正确的网址,url.py 文件也存在这个网址,那么这个网址是如何返回正确的页面和资源的呢?
即使一个不了解django运行机制的用户和初级学习者,也能很容易做出这样的推测:某个地址,和html页面以及页面所呈现的数据信息,两者之间存在着对应关系。做出这个推测并不难,作为学习者要了解这个对应关系在代码中是如何表示的,
这样一段代码:
url(r'^login/$', views.login, name='login')
‘^login/$’,是地址,viewd.login 是视图函数。在元组url中输入这样两个参数,就表示地址和数据来源函数绑定了。
不过views.login不是数据本身,这样一个函数只负责返回数据和html页面。
数据一般来源与数据库,经过处理后返回给前端页面。不过直接将数据展示到前端页面不美观,html就负责数据的布局和展示以便观看。
其实当用户在输入地址 **127.0.0.1:8000/login **,先触发了url() 这个函数,返回参数中有login()函数,login()函数被执行,返回html页面和数据,数据镶嵌到html页面中展示出来。