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("username")
    if username is not None:
        return HttpResponse("welcome!")
    else:
        path=request.path
        current_namespace=resolve(path).namespace
        return redirect(reverse(‘{}:loose‘.format(current_namespace),kwargs={‘a‘:100,‘b‘:200}))

def error(request,a,b):
    sum=a+b
    return HttpResponse("<h1>path:{}</h1>".format(request.path))

book/urls.py

from django.urls import path
from . import views
app_name ="book"
urlpatterns = [
    path(‘‘, views.index,name=‘index‘),
    path(‘error/<int:a>/<int:b>‘, views.error,name=‘loose‘),
]

主urls.py

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path(‘admin/‘, admin.site.urls),
    path(‘book/‘,include(‘book.urls‘,namespace="book")),
    path(‘page/‘,include(‘book.urls‘,namespace="page")),
]

原文地址:https://www.cnblogs.com/xiximayou/p/11738412.html

时间: 2024-10-09 11:27:03

django-URL实例命名空间(十一)的相关文章

django URL反向解析和命名空间

一.反向解析URL 在实际的Django项目中,经常需要获取某条URL,为生成的内容配置URL链接. 比如,我要在页面上展示一列文章列表,每个条目都是个超级链接,点击就进入该文章的详细页面. 现在我们的urlconf是这么配置的:^post/(?P<id>\d+). 在前端中,这就需要为HTML的<a>标签的href属性提供一个诸如http://www.xxx.com/post/3的值.其中的域名部分,Django会帮你自动添加无须关心,我们关注的是post/3. 此时,一定不能硬

Django中url使用命名空间的错误

出的错误: 1. Reverse for 'llist' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 2. Reverse for 'home' with arguments '(1L,)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'org/home/?P<org_id>(/d+)/$'] 出错原因

django url调度

Django的url配置同样遵循着DRY(dont repeat yourself)的规则.以下都是官方文档的例子: 首先介绍的是Django如何处理http的请求: 1.在setting里定义ROOT_URLCONF ,这个值就是url的根配置,但若被request processing中间件定义了HttpRequest的urlconf属性,会替换掉ROOT_URLCONF 2.Django 加载模块,寻找 urlpatterns,它是pattern函数的返回值,是url的list 3.寻找每

Django UrL 解析

Django的路由系统 URLconf 本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行. 1.1 django版本2.0以下的url配置 from django.conf.urls import url # 支持正则匹配 from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), url(r

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

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

Nginx + uWSGI + Python + Django部署实例

Nginx: Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎.能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型. 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器

Django URL(路由系统)

Django URL Django 1.11版本 URLconf官方文档 URL配置(URLconf)就像 Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码. 一.URLconf 基本格式: from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说明:

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/  :但是访

django -- url (模版语言 {% url &#39;test1&#39; param1=5 param2=6 %})

如果想让form表单提交的url是类似 action="/index-5-6.html" 这样的,可以在html模版语言中使用{% url 'test1' param1=5 param2=6 %} urls.py from django.conf.urls import url, include from mytest import views urlpatterns = [ url(r'^index-(?P<param1>\d+)-(?P<param2>\d+