Django2.1.7项目urls.py无法正常工作(产生404错误)

时间:2019-03-30 07:46:12

标签: python django http-status-code-404

项目主要网址问题。我下面的代码示例

from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    path('/', include('homepage.urls')),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

应用设置

INSTALLED_APPS = [
    'homepage',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

主页网址

urlpatterns = [
    path('', views.homepage, name='homepage'),
]

views.py

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def homepage(request):
    return HttpResponse('Hello')

结果: enter image description here

但是,如果我像下面那样更改主项目的网址

from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('homepage.urls')),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

结果是:

enter image description here

  

我如何在http://localhost:8000/blog中看到http://localhost:8000/

2 个答案:

答案 0 :(得分:1)

首页网址:

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

主要网址:

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

我希望对您有帮助

答案 1 :(得分:1)

代码正确。

在屏幕快照中,您正在访问http://localhost:8000-最后没有/。 Django告诉您路径为/。因此,正确的URL是http://localhost:8000/

如果您希望Django自动重定向,请在settings.py中使用APPEND_SLASH

如果您不想重定向,也不想从头开始使用/,请在主url文件中使用path('', include('homepage.urls')),

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('homepage.urls')),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)