Django 2.0 入门与实践---- 第14章 笔记 (三)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [ os.path.join(BASE_DIR,'templates'),
os.path.join(os.path.dirname(os.path.abspath(__file__)), 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
page168
page170
模板系统
polls/url
#coding:UTF-8
from django.urls import path
from . import views
urlpatterns = [
# ex: /polls/
path('', views.index, name = 'index'),
# ex: /polls/5/
path('<int:question_id>/', views.detail, name='detail'),
# ex: /polls/5/results/
path('<int:question_id>/results/', views.results, name='results'),
# ex: /polls/5/vote/
path('<int:question_id>/vote/',views.vote,name='vote'),
]
index
def index(request):
latest_question_list = Question.objects.order_by('-pub_date')[:5]
context = {'latest_question_list' : latest_question_list}
return render(request, 'polls/index.html', context)
detail — 1
def detail(request,question_id):
question = get_object_or_404(Question, pk=question_id)
return render(request, 'polls/detail.html', {'question' : question})
detail — 2
def detail(request,question_id):
try :
question = Question.objects.get(pk=question_id)
except Question.DoesNotExist:
raise Http404("问卷不存在")
return render(request, 'polls/detail.html', {'question': question})
polls/index.html
{% if latest_question_list %}
<ul>
{% for question in latest_question_list %}
<li> <a href = "/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p> 还没有调查问卷 </p>
{% endif %}
polls/index.html
{% if latest_question_list %}
<ul>
{% for question in latest_question_list %}
<li> <a href = "/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
<li> <a href = "{% url 'detail' question.id %}">{{ question.question_text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p> 还没有调查问卷 </p>
{% endif %}
polls/index.html
{% if latest_question_list %}
<ul>
{% for question in latest_question_list %}
<li> <a href = "/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
<li> <a href = "{% url 'polls:detail' question.id %}">{{ question.question_text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p> 还没有调查问卷 </p>
{% endif %}
2
特别注意其中的 app_name = ‘polls’
#coding:UTF-8
from django.urls import path
from . import views
app_name = 'polls'
urlpatterns = [
# ex: /polls/
path('', views.index, name = 'index'),
# ex: /polls/5/
path('<int:question_id>/', views.detail, name='detail'),
# ex: /polls/5/results/
path('<int:question_id>/results/', views.results, name='results'),
# ex: /polls/5/vote/
path('<int:question_id>/vote/',views.vote,name='vote'),
]
page173
page175 之前
https://download.csdn.net/download/wowocpp/11838274
(稍后补充)