【问题标题】:Django2.1.7 project urls.py not working properly (giving 404 error)Django2.1.7 项目 urls.py 无法正常工作(给出 404 错误)
【发布时间】:2019-08-21 02:18:09
【问题描述】:

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

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')

结果:

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

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)

结果是:

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

【问题讨论】:

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


    【解决方案1】:

    代码是正确的。

    在您访问的屏幕截图中http://localhost:8000 - 最后没有/。 Django 告诉你路径是/。所以,正确的 URL 是http://localhost:8000/

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

    如果您不希望重定向并且不希望末尾的 /,则在主 urls 文件中使用 path('', include('homepage.urls')),

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

    【讨论】:

    • 谢谢你,先生,你太棒了。
    【解决方案2】:

    主页网址:

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

    主要网址:

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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2011-12-21
      • 2015-02-15
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      • 2012-07-21
      • 2015-07-26
      • 2019-03-13
      • 2016-06-14
      相关资源
      最近更新 更多