码迷,mamicode.com
首页 > 其他好文 > 详细

Django(命名空间)

时间:2018-09-14 18:23:46      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:ace   art   render   相同   mes   元组   space   color   settings   

 

命名空间

命名空间(英语:Namespace)是表示标识符的可见范围。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其它命名空间中。 由于name没有作用域,Django在反解URL时,会在项目全局顺序搜索,当查找到第一个name指定URL时,立即返回 我们在开发项目时,会经常使用name属性反解出URL,当不小心在不同的app的urls中定义相同的name时,可能会导致URL反解错误,为了避免这种事情发生,引入了命名空间。

 

项目urls.py

from django.urls import path
from  myapp import views
from  django.conf.urls.static import static
from  django.conf import settings
from  django.conf.urls import re_path,include
from  myapp import *
from  myapp02 import *
urlpatterns  = [
    # path(‘admin/‘, admin.site.urls),
    path(hello/,views.hello),
    path(login/,views.login,name =Log ),
    re_path(r"^myapp/",include(("myapp.urls","myapp"))), #这里记住是元组,然后后面是名称
    re_path(r"^myapp02/",include(("myapp02.urls","myapp02"))),

]+ static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)

 

app1 urls.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from  django.conf.urls import url
from myapp import views
from  django.urls import re_path
urlpatterns  = [

    re_path(r^index/,views.index,name=index),
    url(r^hello/([0-9]{4})/$, views.year_archive,name=y),
    url(r^hello/([0-9]{4})/([0-9]{2})/$, views.month_archive),
    url(r^hello/([0-9]{4})/([0-9]{2})/([0-9]+)/$, views.article_detail),
]

app1 views.py

from django.shortcuts import render
from django.http import HttpResponse
from  django.urls import reverse
# Create your views here.
# request 是固定写法
def index(request):
    return HttpResponse(reverse("myapp:index"))

app2 urls.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from myapp02 import views
from  django.urls import re_path
urlpatterns  = [

    re_path(r^index/,views.index,name=index),
    ]

 

app2 views.py

from django.http import HttpResponse
from  django.urls import reverse
def index(request):
    return HttpResponse(reverse("myapp02:index"))

 

Django(命名空间)

标签:ace   art   render   相同   mes   元组   space   color   settings   

原文地址:https://www.cnblogs.com/mjiu/p/9648037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!