实战Django的URL命名空间namespace

目录篇:Django之前后端交互篇目录 点击跳转
主篇:Django之URL路由系统【交互篇一】点击跳转

目录

  • 1.创建Django项目
  • 2.创建app(并且app目录下创建一个urls.py文件)
  • 三.项目url进行namespace(命名空间)
  • 四.定义APP下的URL
  • 五.URL对应函数处理使用namespace进行生成用户访问的url
  • 5.启动Django
  • 6.浏览器访问URL结果

命名空间namespace:简单理解是用户访问的两个不同的父URL指向相同的子URL

1.创建Django项目

Django之创建项目【二】https://blog.csdn.net/Burgess_zheng/article/details/86505526

实战Django的URL命名空间namespace_第1张图片

2.创建app(并且app目录下创建一个urls.py文件)

进入项目目录下

创建app命令:

    F:\Burgess\Python\pycharm实验脚本\test\project_burgess>python manage.py startapp namespace
实战Django的URL命名空间namespace_第2张图片

三.项目url进行namespace(命名空间)

路径:project_burgess/project_burgess/urls.py

from django.contrib import admin
from django.urls import path,re_path #Django版本2.0以上
from django.conf.urls import url  #Django2.0
from django.conf.urls import include

urlpatterns = [
    path('admin/', admin.site.urls),

    #命名空间namespace
    re_path('a/',include("namespace.urls", namespace='author')),
    #url(r'^a/', include("namespace.urls", namespace='author')),
    re_path('b/',include('namespace.urls', namespace='publisher')),
    #url(r'^b/', include('namespace.urls', namespace='publisher')),

]

四.定义APP下的URL

url路径:project_burgess/namespace/urls.py

__author__ = "Burgess Zheng"
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from django.urls import path,re_path #Django版本2.0以上
from namespace import views
from django.conf.urls import url  #Django2.0

app_name='namespace'
urlpatterns = [
    re_path('index/',views.index,name='index'),
    #url(r'^index/', views.index,name='index'),

]

五.URL对应函数处理使用namespace进行生成用户访问的url

url路径:project_burgess/namespace/views.py

from django.shortcuts import render,HttpResponse,redirect

# Create your views here.
def index(request):
    from django.urls import reverse  # 根据URL name 进行生成 url
    a = reverse('author:index')  #根据前缀的url生成该前缀的整个父子url
    print(a)#打印结果 127..../a/index/
    b = reverse('publisher:index') #根据前缀的url生成该前缀的整个父子url
    print(b)#打印结果 127..../b/index/
    return HttpResponse('a:%s b:%s'%(a,b))

5.启动Django

手动:python manage.py runserver 127.0.0.1:8000

pycharm:

实战Django的URL命名空间namespace_第3张图片

6.浏览器访问URL结果

目录篇:Django之前后端交互篇目录 点击跳转
主篇:Django之URL路由系统【交互篇一】点击跳转​​​​​​​​​​​​​​

 

你可能感兴趣的:(Django,Django之交互实战篇,Django实战篇【总】)