017:应用命名空间和实例命名空间

应用命名空间和实例命名空间:

什么是实例命名空间:就是多个url映射到同一个app上,如下代码便是:

    path(‘cms1/‘, include(‘cms.urls‘)),
    path(‘cms2/‘, include(‘cms.urls‘)),

如下图:

基于上节(应用命名空间——016)的情况会出现什么情况呢?

1、想看一下cms里的情况,如下图:

访问:http://127.0.0.1:8000/cms1/跳转到:http://127.0.0.1:8000/cms1/login/  ;但是访问:http://127.0.0.1:8000/cms2/也跳转到:http://127.0.0.1:8000/cms1/login/ ;这个问题如何解决?

实例命名空间粉墨登场:

include里面加上namespace,如下图:

views视图函数里的情况如下图:

经过上面的折腾,便能出现如下情况(多个url对于一个app,也你能正确跳转):

注:016和017这两节对比着看,确实能解决一些特殊情况

原文地址:https://www.cnblogs.com/Carlos-Li/p/12090719.html

时间: 2024-11-10 12:05:05

017:应用命名空间和实例命名空间的相关文章

应用命名空间和实例命名空间

前言: django命名空间解决什么问题? 在多个app之间,有可能产生同名的url,这个时候避免反转url的时候混淆,可以使用应用命名空间做区分.应用命名空间使用.在应用url中定义 app_name: 一个app,可以创建多个url映射到一个app中,所以就会产生一个问题,在做反转的时候,如果不使用命名空间,就会混淆,为了避免这个问题.我们可以使用实例命名空间.在include函数中添加namespace即可: 下面通过两个案例说明 一: 场景1,不同应用中的命名空间 (1)新建app应用

javascript 命名空间的实例应用

/** * 创建全局对象MYAPP * @module MYAPP * @title MYAPP Global */ var MYAPP = MYAPP || {}; /** * 返回指定的命名空间,如果命名空间不存在则创建命名空间. * 备注:命名时需小心,注意保留关键字,可能在一些浏览器无法使用. * * @method namespace * @param {String *} 至少需要创建一个命名空间 * @return {Object} 最后一个命名空间创建的对象的引用 */ MYAP

django-URL实例命名空间(十一)

每生成一个地址,都是一个实例.使用实例命名空间,针对于一个app而言. book/views.py from django.http import HttpResponse from django.shortcuts import render,redirect,reverse from django.urls import resolve # Create your views here. def index(request): username = request.GET.get("user

命名空间System.Threading命名空间的同步锁 Monitor类

官方备注: Monitor类通过向单个线程授予对象所来控制对对象的访问.对象所提供限制访问代码块的能力.当一个线程拥有对象的锁时,其他任何线程都不能获取该锁.还可以使用Monitor来确保不会允许其他任何线程访问正在由锁的所有者执行的应用程序代码,除非另一个线程正在使用其他的锁定对象执行改代码. Monitor类调用Enter或TryEnter方法获取对象锁,使用Exit放弃对象锁,在Enter/TryEnter和Exit之间可调用Pause/PauseAll或Wait方法,Wait方法的调用会

Django2.1视频教程

课程名称:超细讲解Django打造大型企业官网课程类型:Python3.7, Django2.1课程数量:334集课程代码:有总共大小:44.5 GB共享连接:链接:https://pan.baidu.com/s/1WMqpupMC75NGi6pFV3x0xA 提取码:1rv6课程目录:001.[虚拟环境]为什么需要虚拟环境.mp4 002.[虚拟环境]virtualenv创建虚拟环境.mp4 003.[虚拟环境]virtualenvwrapper使用.mp4 004.[Django预热]URL

django-url调度器-高级篇

我们在中级篇中学会了如何进行反向解析,但是有这样一个问题,在为 url 命名的时候,名字不能重复,否则会导致各种各样的问题.在 url 还少的时候保证不重名还是比较简单的,但是 url 多起来以后就比较难了.为了解决这样的问题,可以在 url 中加一个前缀.例如,我有一个 url 的名字叫做 'comment' ,此时,我可以为其加一个前缀,这个前缀通常是 app 名,例如:'myapp-comment'. 这也是django所推荐的命名方式,但是这样始终是治标不治本.此时,我们就要学习 dja

python之路 面向对象(一)

面向过程vs面向对象 面向过程的核心是过程,是解决问题的步骤. 优点:极大降低了写程序的复杂度,只需顺着要执行的步骤,码代码即可. 缺点:一套程序解决一个问题,牵一发动全身. 面向对象的核心是对象. 优点:解决了程序的扩展性,对某一个单一对象的修改,会映射到整个体系中. 缺点:可控性差,无法向面向过程一样可以很精准的预测到结果,面向对象程序一旦开始就由对象之间的交互解决问题,无法预测结果. 类和对象(实例) python中一切皆对象,类型的本质就是类,包括字典,列表,数字,字符串等. 在pyth

谈谈Python之Django搭建企业级官网(第三篇下部)

转载请注明来源地址和原作者(CFishHome) 前沿 上一篇文章我们学习了URL与视图函数的映射.传递参数的三种方式.转换器的简单使用和include函数分层映射管理.接下来这一篇文章着重介绍Path.re_path.include.reverse.redirect函数的使用和自定义URL转换器.学完这些内容,相信我们对URL和视图都会有了一定的了解和认识.为了让每篇文章具有一定的独立性,我决定每篇文章都重新新建一个项目,便于测试和调试. 预备 首先,我们在Pycharm重新新建一个名为boo

实例分析JVM安全体系:双亲委派、命名空间、保护域、策略

在了解双亲委派模型之前,先了解一下类加载器的概念: 类加载器的作用就是将真实的class文件根据位置将该Java类的字节码装入内存,并生成对应的Class对象.用户可以通过继承ClassLoader和重写findClass方法来定义自己的类加载器进行加载,系统类加载器按照层次,分为: (1).启动类加载器(Bootstrap ClassLoader):将加载 /JAVAHOME/lib以及为-Xbootclasspath所指定的目录下的类库,是核心Java API的class文件,用于启动Jav