为了账号安全,请及时绑定邮箱和手机立即绑定

'Specifying a namespace in include() without providing an app_name ' django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pa

解决方案 

在应用的目录下的urls.py中的urlpatterns前面添加一段代码:

    app_name = '[app_name]'

    比如 app_name = '[blog]'

正在回答

5 回答

在django2.x种

在django2.x中

这个url命名空间  视乎不用写根的url

直接写app的url即可。也是参考

https://stackoverflow.com/questions/48608894/impropyconfigurederror-about-app-name-when-using-namespace-in-include

比如我的跟url没有像教程老师那样在根url写入namespace='xxx'

直接在app的url里 写入name='ojbk' 例如 

path('date/<int:test_id>',views.date_page,name='ojbk')

然后在index文件里这样编写

<a href="{% url '(自己的app名字):(ojbk)' (数据库函数id) %}">{{ test.title }}</a>

我自己的完整编写就是

<a href="{% url 'djangotest:ojbk' test.id %}">{{ test.title }}</a>

完成括号里的编写,即可完成超链接

0 回复 有任何疑惑可以回复我~

stackoverflow下貌似有更优化的解法:

参考:https://stackoverflow.com/questions/48608894/impropyconfigurederror-about-app-name-when-using-namespace-in-include

解决方案:

这里可以改根目录下urls.py的include那里,path('myblog/',include(('blog_app.urls','blog_app),namespace='blog_app'))

加上app_name,即斜体部分'blog_app'

2 回复 有任何疑惑可以回复我~
#1

Chrisiven 提问者

你这个方法我也有使用,但是不怎么习惯,我还是习惯在app里面进行一个app_name 定义,起码这样子可读性不差.
2019-11-20 回复 有任何疑惑可以回复我~

已经解决 但是为什么啊???


0 回复 有任何疑惑可以回复我~
#1

Chrisiven 提问者

你可以简单理解为为你创造的东西命名,,具体的我也不太清楚我还是新手
2019-05-18 回复 有任何疑惑可以回复我~

非常感谢

0 回复 有任何疑惑可以回复我~

谢谢!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
django入门与实践
  • 参与学习       65117    人
  • 解答问题       898    个

手把手带你进入Django开发的大门,充分领略Django的魅力

进入课程

'Specifying a namespace in include() without providing an app_name ' django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pa

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号