关于命名空间的应用场景
关于namespace的使用场景不太理解,不说reverse的解析防错用途,视频里上面图片里的这句话是什么意思?
不同的URL对应的结果本来不就应该是不同的吗?为什么要结果相同?
角色是什么概念?URL就是资源的唯一标识,和谁去访问有什么关系呢?如果把角色的不同已经在URL中进行了表述,那就是不同的URL而已啊,浏览器难道会判定使用者是什么角色?都是凭借URL进行访问的呀?
开发者希望的效果是下面中的哪一种,为什么?:
访问不同的URL,得到的结果相同
访问不同的URL,得到的结果不同
两种角色访问不同的URL,如果不使用namespace(我这里的意思是连name都不要写),结果是相同还是不同?如果使用namespace,结果是相同还是不同?
正在回答
同学,你好!对同学的疑问进行如下解答:
1、视频中说的两种角色访问不同的url,结果相同,指的是通过不同的url链接,访问到同一个页面,页面不做角色区分,结果自然是相同的,比如项目主urls.py内容如下:
auth应用的urls.py内容如下:
视图函数views.py代码如下:
那么通过auth01/index和auth02/index访问的都是auth模块views视图中的index方法,结果自然是相同的
2、auth01/index和auth02/index访问的是同一个页面,auth01和auth02可以看成是两个角色,想让页面对不同的角色做不同的处理,这个时候就可以通过解析命名空间,知道是哪个链接发来的请求,比如
view.py中index函数内容如下:
浏览器访问auth01/index的结果如下:
访问auth02/index/的结果如下:
3、两种角色通过不同的URL访问同一个页面,如果不使用namespace、也不使用name,视图函数函数写法也未区分角色,结果是相同的;如果使用namespace,并且视图函数对不同的角色进行不同的处理,结果是不同的
加油,祝学习愉快~~~
- 参与学习 人
- 提交作业 218 份
- 解答问题 3562 个
本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星