首页 > 解决方案 > django 当前路径,不匹配其中任何一个

问题描述

我想在 django 中尝试其他应用程序,但在访问其他应用程序时遇到问题。

网页未找到

树:

主要的:

搜索:

预处理:

像这样的场景。从 scrape.html 我想在预处理中访问 index.html 但找不到错误路径。我已经在 settings.py 中添加了应用程序

主网址.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('search.urls')),
    path('preprocessing/', include('preprocessing.urls')),
]

搜索 url.py

urlpatterns = [
    path('', views.index,),
    path('scrape/',views.scrape,),
 
]

scrape.html 的切片:

 <a href = "/preprocessing" button type="button" class="btn btn-primary" target = "blank">Preprocessing</a>

预处理 url.py

path('', views.index),

让我知道我哪里出错了,谢谢你的帮助

标签: pythondjango

解决方案


您的锚标记写为:

<a href = "/preprocessing" ...>

这里的问题是您的 url 模式就像'preprocessing/',请注意它以斜杠结尾,而您的锚 url 没有。此外,在您设置的设置中APPEND_SLASH = False

通常当 Django 发现一个不以斜杠结尾的 url 时,它会附加一个斜杠并将用户重定向到这个新的 url。但是您已经通过设置停止了这种行为APPEND_SLASH = False。作为第一步,我建议您将其改回APPEND_SLASH = True.

接下来,您应该始终命名您的网址并使用这些名称来引用网址。所以你的 urlpatterns 应该是:

主网址.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('search.urls')),
    path('preprocessing/', include('preprocessing.urls')),
]

搜索 url.py

urlpatterns = [
    path('', views.index, name='index'),
    path('scrape/',views.scrape, name='scrape'),
 
]

预处理 url.py

path('', views.index, name='preprocessing'),

现在在您的模板中,您只需使用url模板标签

<a href="{% url 'preprocessing' %}" button type="button" class="btn btn-primary" target = "blank">Preprocessing</a>

推荐阅读