为什么要给url命名?
因为url是经常变化的。如果在代码中写死可能会经常改代码。给url取个名字,以后使用url的时候就使用他的名字进行反转就可以了,就不需要写死url了。
URL反转
首先我们需要在path
函数中传递一个name
参数,即给url命名,示例代码如下:
urlpatterns = [
path('',views.index,name='index'),
path('login/',views.login,name='login')
]
然后我们就可以在 views.py 文件中使用reverse函数来获取指定name
对应的url,示例代码如下:
from django.http import HttpResponse
from django.shortcuts import redirect, reverse
def index(request):
username = request.GET.get('username')
if username is None:
re_url = reverse('login')
# re_url的值即为 login/
return redirect(re_url)
else:
text = '前台首页'
return HttpResponse(text)