在管理页面上,我将Django平面页面的URL设置为“ /”,预期将其显示为http://127.0.0.1:8000/上的主页。这样做时遇到错误:
Request Method: GET
Request URL: http://127.0.0.1:8000/
Using the URLconf defined in core.urls, Django tried these URL patterns, in this order:
admin/
<path:url>
The empty path didn't match any of these.
但是,如果我以双斜杠转到http://127.0.0.1:8000//,则主页将正确显示。我唯一的urls.py文件如下所示:
from django.contrib import admin
from django.urls import include, path
from django.contrib.flatpages import views
urlpatterns = [
path('admin/', admin.site.urls),
]
urlpatterns += [
path('<path:url>', views.flatpage),
]
我完全从the official guide那里获取了所有代码。如何在http://127.0.0.1:8000/上显示django平面首页?
答案 0 :(得分:0)
除了django.urls.path方法外,Django还提供了django.urls.re_path方法。 path方法旨在对精确字符串进行匹配,而re_path方法旨在基于正则表达式对模式字符串进行匹配。就我而言,以这种方式解决就足够了:
urlpatterns += [
re_path(r'^(?P<url>.*)$', views.flatpage),
]
结果,我们在http://127.0.0.1:8000/得到了正确的请求处理。可以在link中找到有关使用path,re_path方法的更多详细信息。