大家好,今天在操作Django跳转页面的时候遇到了一个坑。把我的经历分享给大家,希望对大家有用
先来看看图
这里我简要说明下,我想要通过music 应用下的views文件里 login视图跳转到index视图上。操作如下
1, 给urls.py文件添加
app_name = 'music' 和 path('index/', views.index, name='index')
2,给views.py文件添加
def login(request):
url = reverse('index')
return redirect(url)
3, 运行项目 并访问这个项目。结果报错了
报错的内容是:django.urls.exceptions。NoReverseMatch:反向“index”未找到。“index”不是有效的视图函数或模式名称。
这是因为app_name没有注册。所以在运行reverse(‘index’)的时候这个写法是错的。应该是 reverse(‘app_name:name参数’)。代码如下。
总结: 在同一个app里面同时定义app_name变量跟path的name参数 ,app_name要注册,所以reverse的语法是reverse(‘app_name:name的参数’)今天就聊到这里希望大家喜欢。下次再见。