zoukankan      html  css  js  c++  java
  • Python

    新建一个项目 app02

    在 app02/ 下创建 urls.py:

    from django.conf.urls import url
    from app02 import views
    
    urlpatterns = [
        url(r'^blog/', views.test, name="blog"),
    ]
    

    app01/urls.py:

    from django.conf.urls import url
    from app01 import views
    
    urlpatterns = [
        url(r'^blog/', views.blog, name="blog"),
    ]
    

    这两个都有 blog/ 路径,且都名为 blog,访问的话就不知道该访问哪一个

    这时候需要用到命名空间

    在 templates 目录下创建 /books/blog.html 和 /news/blog.html

    app01/views.py:

    from django.shortcuts import render
    
    
    def test(request):
        return render(request, "test.html")
    
    
    def blog(request):
        return render(request, "news/blog.html")  # news 前不要加 /
    

    app02/views.py:

    from django.shortcuts import render
    
    
    def test(request):
        return render(request, "books/blog.html")  # books 前不要加 /
    

    mysite2/urls.py:

    from django.conf.urls import url, include
    from app01 import views
    from app01 import urls as app01_urls
    from app02 import urls as app02_urls
    
    urlpatterns = [
        url(r'^test/', views.test),
        url(r'^blog/', include(app01_urls, namespace="news")),
        url(r'^blog/', include(app02_urls, namespace="books")),
    ]
    

    test.html:

    <a href="{% url 'books:blog' %}">书籍</a>
    <a href="{% url 'news:blog' %}">新闻</a>
    

    这里用的是 namespace_name 格式来获取 url 路径

    访问:http://127.0.0.1:8000/test/

    点击“新闻”

    跳到了:http://127.0.0.1:8000/blog/blog/,返回的是 /news/blog.html 页面

  • 相关阅读:
    iOS App之间跳转
    iOS 编码转换
    iOS文件类型判断
    iOS 运行时
    libqrencode生成二维码
    设置app的启动图
    根据字体计算CGRect
    iOS 英文学习
    libev 中IO事件循环解析
    libev 默认事件循环初始化的解析
  • 原文地址:https://www.cnblogs.com/sch01ar/p/11285735.html
Copyright © 2011-2022 走看看