本文共 865 字,大约阅读时间需要 2 分钟。
因为url是经常变化的。如果在代码中写死可能会经常改代码。给url取个名字,以后使用url的时候就使用他的名字进行反转就可以了,就不需要写死url了。
from django.shortcuts import redirect,reverse
在path
函数中,传递一个name
参数就可以指定。示例代码如下:
urlpatterns = [ path('',views.index,name='index'), path('signin/',views.login,name='login')]
在views.py中
def index(request): # ?username=xxx username = request.GET.get('username') if username: return HttpResponse('前台首页') else: return redirect(reverse('login'))
在多个app之间,有可能产生同名的url。这时候为了避免反转url的时候产生混淆,可以使用应用命名空间,来做区分。定义应用命名空间非常简单,只要在app
的urls.py
中定义一个叫做app_name
的变量,来指定这个应用的命名空间即可。示例代码如下:
# 应用命名空间app_name = 'front'urlpatterns = [ path('',views.index,name='index'), path('login/',views.login,name='login')]
以后在做反转的时候就可以使用应用命名空间:url名称
的方式进行反转。示例代码如下:
return redirect(reverse(''front:login'))
转载地址:http://qfkrn.baihongyu.com/