django 编写视图


编写视图

每个视图只负责两件事中的一件:返回一个包含请求的页面内容的HttpResponse对象,或抛出一个异常如Http404.

剩下的就看你了。

通常,一个视图会根据参数来检索数据,加载一个模块然后使用检索出来的数据渲染模板。 

下面是上文year_archive的一个视图例子:

mysite/news/views.py
from django.shortcuts import render

from .models import Article

def year_archive(request, year):
    a_list = Article.objects.filter(pub_date__year=year)
    context = {'year': year, 'article_list': a_list}
    return render(request, 'news/year_archive.html', context)



node2:/app/mysite/news#vim ../mysite/settings.py
node2:/app/mysite/news#pwd
/app/mysite/news
node2:/app/mysite/news#cat templates/news/year_archive.html 

{% block title %}Articles for {{ year }}{% endblock %}

{% block content %}
<h1>Articles for {{ year }}</h1>

{% for article in article_list %}
    <p>{{ article.headline }}</p>
    <p>By {{ article.reporter.full_name }}</p>
    <p>Published {{ article.pub_date|date:"F j, Y" }}</p>
{% endfor %}
{% endblock %}
原文地址:https://www.cnblogs.com/hzcya1995/p/13349133.html