Django 之 踩过的坑 (1):同一个app文件夹下的urls.py 里面path的name参数与app_name的用法

   大家好,今天在操作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的参数’)今天就聊到这里希望大家喜欢。下次再见。

posted @ 2019-02-24 16:49  爬爬......爬不动  阅读(200)  评论(2编辑  收藏  举报