Django~Views

In Django, web pages and other content are delivered by views.

To get from a URL to a view, Django uses what are known as ‘URLconfs’. A URLconf maps URL patterns (described as regular expressions) to views.

django.core.urlresolvers

write views

add urls

Django~Views

Django~Views

404

Each view is responsible for doing one of two things: returning an HttpResponse object containing the content for the requested page, or raising an exception such as Http404.

PDF,.XML,ZIP ^^^^^^^Django~Views

Your view can read records from a database, or not. It can use a template system such as Django’s – or a third-party Python template system – or not. It can generate a PDF file, output XML, create a ZIP file on the fly, anything you want, using whatever Python libraries you want.

Create Templates

First, create a directory called templates in your polls directory. Django will look for templates in there

名字空间

路径:polls/templates/polls/index.html. .否则

Django~Views

没有加模板前                                             添加模板后

Django~Views  Django~Views

templates中内容

<ul> for 循环</ul>

{% 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>No polls are available.</p>
{% endif %}

省事的render

Django~Views

return render(request, 'polls/index.html', context)

The render() function takes the request object as its first argument, a template name as its second argument and a dictionary as its optional third argument. It returns an HttpResponse object of the given template rendered with the given context.

404问题

try except                                                     render

Django~Views    Django~Views

Django~Views

加上名字空间

ulsr.py中app_name=’polls’

index 中polls:detail

<li><a href="{% url 'polls:detail' question.id %}">{{question.question_text}}</a></li>
上一篇:pythonchallenge 解谜 Level 7


下一篇:saltstack-----上线环境篇(一)