【发布时间】:2018-12-08 11:58:53
【问题描述】:
我正在尝试学习 Django 并尝试https://docs.djangoproject.com/en/2.0/intro/tutorial03/ 的分步教程。
我已经完成了应用程序(嗯,直到第 7 部分)并且按预期工作(并且已在教程中解释)。
我面临的唯一问题(到目前为止)是当我尝试从“管理”页面导航到链接页面“查看站点”时,出现“找不到页面 (404)”错误。正在附上一张图片以使情况更清楚。
链接指向“http://127.0.0.1:8000/”,而它应该指向“http://127.0.0.1:8000/polls/”。当我在地址栏中(手动)添加路径的缺失部分时,会显示正确的页面(如预期的那样)。
我已尝试在此以及许多其他论坛上进行搜索,但找不到正确的解决方案。
我在 mac sierra 上使用 Django 2.0.6 和 Python 3.6.4。
如果能在这方面提供线索,我们将不胜感激。
谢谢
mysite/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
mysite/polls/urls.py
from django.urls import path
from . import views
app_name = 'polls'
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('<int:pk>/', views.DetailView.as_view(), name='detail'),
path('<int:pk>/results/', views.ResultsView.as_view(), name='results'),
path('<int:question_id>/vote/', views.vote, name='vote'),
]
polls/template/polls/index.html
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}" />
{% if latest_question_list %}
<ul>
{% for question in latest_question_list %}
<li><a href="{% url 'polls:detail' question.id %}">{{ question.question_text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
【问题讨论】:
-
我真的不明白这是怎么回事。这只是一个教程,碰巧它只在 /polls 下定义了 URL。当然,在普通站点中,您会在站点的底部有一个主页,这就是该管理链接所指向的内容。
-
@Daniel Roseman 可能是“只是”一个教程,但要通过(网络上最完整的教程之一),这似乎不是疏忽的情况。管理站点和客户端站点可能是文章作者想要展示的站点。
-
@9769953 - 链接很旧,不适合当前版本的 Django!!