在django生成的工程项目文件中urls.py文件用于指定路由信息

该文件默认导入以下模块
from confimport from import admin
from confimport url,include
默认包含一个路由信息
r'^admin/'site.urls),
 
 一个工程至少要包含一个app,而django中的mtv模式,view层相当于视图控制层,即相当于mvc中的controller,template相当于视图层,model层为数据处理层,当请求到达时将到时达指定的views中的函数处理,该函数处理相关业务逻辑后将内容返回到视图,所以任何一个请求都必须对应一个视图函数
from web.views import *
同时在urls.py中需要导入相对应的视图函数模块,可以采用*来批量导入,也可以指定导入的函数,如:
from web.views import index,login
 
同时需要在url的配置映射中指定视图处理函数的名称,如:
 
url(r'^index/',index),

所以在对应的views.py必须存在相对应的处理函数
 
如:
 
from django.http import *
 
def index(request):
return HttpResponse('ok')
HttpResponse属于django.http下的模块,所以使用HttpResponse时需要先行导入该模块
 
在django 的视图函数的处理中,必须包含request参数,该参数将包含当前上下文请求对象的内容
 
 至此一个基本的路由处理的配置已经完成,当一个请求到达django的中间件时,django将会在urls.py中查看相当的路由信息找到匹配的视图处理函数,由该视图处理函数处理相关逻辑后会将结果返回至视图层呈现给用户
此时的访问形式应该是形如:http://127.0.0.1/index的形式
但是在生产环境的应用中很多的url都是动态生成的,如http://127.0.0.1/1,http://127.0.0.1/2/3 等
此时就要用正则表达式来匹配路由信息
如:

url(r'^list/(\d*)',list)
以上的配置却url后接一个整数类型的参数,为了获取该参数的值需要在视图处理函数中存在相匹配
如:
def list(request,id):
Pass
参数的名称可以为id也可以为其它名称
 

同时有些时候为了同一个路由处理函数能够被多条路由信息共用,此时就需要在路由配置信息中配置默认值的参数来实现

 
 url(r'^list1/(?P<name>\d+)$',list1),
 同时如果使用形如?p<name>的语法时则表示,在视图处理函数中的参数名称必须为name,这样做的目的即是实现配置与函数的参数名称统一,便于查看代码维护
在django的url访问中url的访问形式一般为http://127.0.0.1/通常以/结束,但是也会存在个别情况下不会自动补齐/的时候,所以可以在映射配置中添加强制结束符号$,如

url(r'^list1/(?P<name>\d+)$',list1),

的配置中即添加了强制结束符号

 
对一个网站来说访问的url如果很多的话,大量的url位于一个文件中查找管理都不太方便,所以我们想让在门户的urls.py文件指定相关的app对应哪个urls文件中的路由信息进行相关路由,实现可插拨的设计
如在工程项目中的urls.py中做以下配置
url(r'^admin/'site.urls),

url(r'^web/',include('web.urls')),

即admin的路由信息由admin.site.urls文件中的路由信息进行匹配后路由,web中的路由信息由web 的app下的urls.py文件中的路由信息进行匹配后路由
所以在web的app中需要新建一个urls.py文件,里面具体的路由信息可以参照全局的urls.py文件,这个过程也叫url的分发
至此django的路由配置已经基本完成
 
 

django的路由系统的更多相关文章

  1. Python学习(三十一)—— Django之路由系统

    转载自:http://www.cnblogs.com/liwenzhou/p/8271147.html Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLc ...

  2. Django之路由系统 Dj

    Django之路由系统   Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调 ...

  3. Django框架----路由系统(详细)

    Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表. ...

  4. Django之 路由系统

    Django的路由系统 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调用这 ...

  5. Django 基础 路由系统

    Django框架简介 MVC框架和MTV框架(了解即可) MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图 ...

  6. Django 的 路由系统

    Django 的路由系统 URL 配置(URLconf)就像Django 锁支撑网站的目录. 它的本质就是URL 与要为该URL 调用的视图函数之间的映射表. 你就是以这种方式告诉Django, 对于 ...

  7. Django 的路由系统

    Django 的路由系统   Django 的路由系统 路由层 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$',views.ho ...

  8. python 之 Django框架(路由系统、include、命名URL和URL反向解析、命名空间模式)

    12.36 Django的路由系统 基本格式: from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名) ...

  9. 6月19日 python学习总结 Django之路由系统

    Django之路由系统   Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调 ...

  10. Python Django之路由系统

    1.初识路由系统 路由系统是用户发请求到URL,然后URL根据路由系统重新指向到函数名的一个对应关系 2.创建project和app django-admin startproject mysite ...

随机推荐

  1. 前端--关于css选择器

    css选择器就好像表达式一样,返回一组或者一个html元素,后面的样式声明块应用到返回的元素上.所以可以把css选择器理解为某个或者某一类html元素的抽象的写法. 在讲具体的各种选择器之前要提一下选 ...

  2. MongoDB学习笔记02

    MongoDB中使用find来进行查询,查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合.find的第一个参数决定了要返回哪些文档.空的查询文档{}会匹配集合的全部内容,要是不指定查 ...

  3. IIS7如何显示详细错误信息

    使用Vista或Win7操作系统的用户在不断增加,用Win7旗舰版开发测试程序程序人员也与日俱增,Win7下测试程序时,如果程序出 错,IIS7会提示HTTP Error 500 - Internal ...

  4. javascript运动功能-分享到

    <script> //窗体载入,为div控件绑定事件 window.onload = function () { var div1 = document.getElementById('d ...

  5. PHP学习笔记十八【构造函数】

    <?php class Person{ public $name; public $age; //定义构造函数 function 空格__construct 构造方法没有返回值,对象自动调用 p ...

  6. Thread was being aborted.你遇到了吗?

    这个Exception目前了解到的有两个原因造成:        1.Reponse.Write的问题(目前网上找到的信息十有八九都讲的是这个问题)      2.Web.Config中设定的exec ...

  7. 仿QQ好友列表界面的实现

    TableView有2种style:UITableViewStylePlain 和 UITableViewStyleGrouped. 但是QQ好友列表的tableView给人的感觉似乎是2个style ...

  8. CSS浏览器兼容问题集-第一部分

    CSS对浏览器的兼 容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于 web2.0的过度,请尽量用xhtm ...

  9. WordPress插件制作笔记(三)---Stars Comments Article

    wp 文章星级评价 插件 下载地址4:http://pan.baidu.com/s/1eQnGIGU [articles_star_vote_score_optiontable_serialize_c ...

  10. python笔记之常用模块用法分析

    python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...