- ファイルの場所
- 内容や文書
from django.conf.urls import url
from polls import views
urlpatterns = [ # path('admin/', admin.site.urls),
url(r'^$', views.index, name='index'), # ex: /polls/
url(r'^polls/(?P<question_id>\d+)/$', views.detail, name='detail'), # ex: /polls/5/
url(r'^polls/(?P<question_id>\d+)/results/$', views.results, name='results'), # ex: /polls/5/results/
url(r'^polls/(?P<question_id>\d+)/vote/$', views.vote, name='vote'), # ex: /polls/5/vote/
]
ページがアクセスされたファイルの役割、およびルートマップ。(要求パスマッピング管理)
公式サイトのドキュメント#####書かれ
、現在404を増加させるアクセスプロジェクトは、インタフェースが見つかりません。
from django.conf.urls import url
from . import views
urlpatterns = [
# ex: /polls/
url(r'^$', views.index, name='index'),
# ex: /polls/5/
url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
# ex: /polls/5/results/
url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
# ex: /polls/5/vote/
url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),
]
次のように:
詳細ページに入るには「まで何」をクリックしてください
注:すべてのHTMLファイルには、テンプレートフォルダにポーリングファイルを配置する必要があります。
Djangoは自動的にファイルのテンプレートフォルダを検索します
-
404を投げます
from django.http import HttpResponse, Http404
か、
from django.shortcuts import get_object_or_404, render question = get_object_or_404(Question, pk=question_id)
get_object_or_404()最初の引数としてDjangoのモデルに機能し、モデルの管理機能()を介して取得するキーワード引数の任意の数。オブジェクトが存在しない場合はHttp404をリードしています。
get_list_or_404()関数で、get_object_or_404として() - フィルタを使用して除いて()の代わりにGETの()。リストが空の場合はHttp404を提示します
-
テンプレート(テンプレート)
<h1>{{ question.question_text }}</h1> <ul> {% for choice in question.choice_set.all %} <li>{{ choice.choice_text }}</li> {% endfor %} </ul>
テンプレートシステムは、変数の属性にアクセスするためにドットルックアップ構文を使用しています。{{Question.question}}、オブジェクト辞書ルックアップの最初の質問。存在しない場合、プロパティを見つけよう - この場合には動作します。属性検索が失敗した場合、それは常にリスト・インデックス・ルックアップ意志
-
ハードコードされた除去
を使用する{% url %}
代わりに、元のハードコードされたパスの<li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li> <li><a href="{% url 'detail' question.id %}">{{ question.question_text }}</a></li>