url 的name属性
为 app01的url设定命名空间
app_name = 'app01'
urlpatterns = [
path('', views.index, name='index'),
path('login/', views.login, name='login'),
]
上面的name='login'
同时 from django.shortcuts import render,reverse,redirect
便于项目引用
def index(request):
username = request.GET.get('username')from django.shortcuts import render,reverse,redirect
if username:
return render(request, 'app01\index.html')
else:
return redirect(reverse('app01:login'))
调用时候主要利用reverse 反向去找 login 去
使用名称调用url
view 中 redirect(reverse('login'))
html 中 模版语言 {% url 'login' %}
app_name的使用
URL(统一资源定位符)命名空间的作用是为了确保在一个给定的上下文中,URL(统一资源定位符)可以唯一地标识某个资源。通过使用命名空间,可以将不同类型的资源组织起来,使其在同一个URL下具有唯一性,从而避免冲突和混淆。
在实际应用中,命名空间通常被用于区分不同类型的资源,比如网站的不同部分、API的不同功能模块等。通过在URL中使用命名空间,可以更好地组织和管理资源,提高系统的可扩展性和可维护性。
# 为 app02的url设定命名空间
app_name = 'app02'
urlpatterns = [
path('', views.index, name='index'),
path('login/', views.login, name='login'),
]
def index(request):
username = request.GET.get('username')
if username:
return render(request, 'app02\index.html')
else:
return redirect(reverse('app02:login'))
# 跳转到命名空间为app02下的login
def login(request):
return render(request, 'app02\login.html')
url 命名后的参数传递