【问题标题】:How to set path in app's urls.py to show localhost:8000/xxx(with django2.1.8)如何在应用程序 urls.py 中设置路径以显示 localhost:8000/xxx(使用 django 2.1.8)
【发布时间】:2019-04-27 01:42:06
【问题描述】:

我想通过访问localhost:8000/topics来显示topics.html

启动一个名为 learning_log 的项目 启动一个名为 learning_logs 的应用

这是 learning_logs(app) 中的 url.py

from django.urls import path
from . import views
urlpatterns=[
    path('',views.index,name='index'),
    path('/topics/',views.topics,name='topics')
    ]

这是 learning_log(project) 中的 url.py

from django.contrib import admin
from django.urls import path,include,re_path

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

这是 learning_logs(app) 中的 views.py

def topics(request):
    topics=Topic.objects.order_by('date_added')
    context={'topics':topics}
    return render(request,'learning_logs/topics.html',context)

我运行服务器并访问 localhost:8000/topics 它说 404Error,当前路径不匹配

【问题讨论】:

  • 你有path('/topics/', ...),所以URL是localhost:8000/topics/。通常 Django 会重定向并添加斜杠,因此您的 MIDDLEWARE 设置可能存在问题。

标签: python django django-views django-2.1


【解决方案1】:

如果你想导航localhost:8000/example/ 您可以在项目标签中定义urls.py

path('example/',views.something,name='example'),

如果您在应用标签中的urls.py 你需要先将它包含在项目标签urls.py

path('',include('yourapp.urls'))

然后转到yourapp 应用标签urls.py 并使用此

path('example/',views.something,name='example'),

然后你可以导航到localhost:8000/example/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 2020-05-27
    相关资源
    最近更新 更多