django - Django 路由 - 空路径与这些中的任何一个都不匹配
问题描述
非常基本的问题,我很惊讶我找不到答案。我刚刚开始研究 django 并进行了开箱即用的安装。创建了一个项目并创建了一个应用程序。urls.py 的默认内容很简单:
urlpatterns = [
path('admin/', admin.site.urls),
]
如果我打开 django 站点主页,我会得到带有火箭图片的内容。但是,就像我说的那样,我在项目中创建了另一个应用程序,比如说“ bboard ”。我在bboard/views.py中创建了一个简单的“hello world”函数
def index(request):
return HttpResponse('Hello world')
为了使其能够通过浏览器访问,我通过以下方式修改了原始urls.py文件:
from bboard.views import index
urlpatterns = [
path('admin/', admin.site.urls),
path('bboard/', index),
]
这样我可以访问localhost:port/admin和localhost:port/bboard URL,但是如果我现在尝试使用localhost:port打开主页,我会收到Page not found错误。
使用 samplesite.urls 中定义的 URLconf,Django 尝试了这些 URL 模式,顺序如下: admin/ bboard/ 空路径与其中任何一个都不匹配。
如果我注释掉 urlpatterns 列表中的第二项,一切正常。那么为什么额外的模式会影响这一点以及需要做些什么来解决它呢?
解决方案
您需要在根目录中添加一个空 urlurls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('bboard.urls'))
]
推荐阅读
- javascript - 使用 Hotwire 和 Stimulus.js Rails 6 提交后重置表单的问题
- javascript - 选择选项文本不完全可见?
- ios - iPhone 模拟器上的 iOS 应用程序错误:FBSOpenApplicationServiceErreurDomain
- javascript - 如何从字符串中删除逗号或其他内容?
- c# - c# 处理数据管道:'管道已结束'
- django - ManyToManyField 的 Django get_absolute_url
- c# - 即使使用 while 循环 C#,try/catch 函数也只运行一次
- swift - 如何在水平堆栈视图中拖动按钮
- wordpress - 人们可以在没有 Wordpress 帐户的情况下登录我的 Wordpress.com 网站吗?
- node.js - 如何在 Node.js&MongoDB 中替换子数组的元素