1.在子应用下创建一个urls的py文件
2.配置子应用下的urls
from django.urls import path,re_path
from . import views
urlpatterns = [
path('index/', views.index1),
]
3.配置主路由导入include 主路由中的可以为空也可以加路由但是加了主路由名字进入网页的时候就要带上主路由名
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('i/',include('app1.urls')),
path('',include('app1.urls')),
]
4,namespace
可用可不用的东西 给子应用做空间命名的,在主路由中写了后就要在子路由中声明一下(不然会报错)
5,app_name='users'
子应用的路由中声明,name就是现在这个路由的别名
6,反解析
写了视图函数就要用一个路由去接受运行程式后在去访问,打印出来就是解析的对应路由的数
from django.urls import reverse #导入反解析的包
def say(request):
url=reverse('index') #这里的index是对应路由的别名
url1=reverse('users:index') #这种写法是对子路由用了namespace
print(url)
return HttpResponse("反解析")
7,重定向(点击访问这个页面跳转到其他路由)
index 是name=index是别名!是别名!没有别名找不到
from django.shortcuts import reverse,redirect #导入redirect 方法
def index2(request):
#可以直接写别名去重定向
return redirect('index')
#也可以配合反解析去重定向
return redirect(reverse('index'))
#这种写法是对子路由用了namespace
return redirect(reverse(''users:index''))