WEB开发网
开发学院软件开发Python 基于 Django 框架的敏捷 Web 开发 阅读

基于 Django 框架的敏捷 Web 开发

 2008-09-30 13:04:16 来源:WEB开发网   
核心提示: 清单 4. views.py代码定义from django.shortcuts import render_to_responsefrom news.article.models import Listdef news_report(request):article_listing = [

清单 4. views.py代码定义

        from django.shortcuts import render_to_response
from news.article.models import List
def news_report(request):
article_listing = []
for article_list in List.objects.all():
  article_dict = {}
  article_dict['news_object'] = article_list
  article_dict['item_count'] = article_list.item_set.count()
  article_dict['items_title'] = article_list.title
  article_dict['items_complete'] = article_list.item_set.filter(completed=True).count()
  article_dict['percent_complete'] =
    int(float(article_dict['items_complete']) / article_dict['item_count'] * 100)
  article_listing.append(article_dict)
return render_to_response('news_report.html', { 'article_listing': article_listing })

这是一段简洁的Python代码,让我们看看在这段代码里面Django的函数做了哪些工作吧:

List.objects.all方法返回news列表中所有的记录项,Django可以根据后台数据库转换成相应的SQL语句,在后台数据库中执行并返回查询结果。

每一条article文章都有item_set属性,代表news新闻条目中的每一个item项。如果需要设置查询条件,也可以使用item_set.filter方法来返回符合特定要求的item项。

render_to_response函数返回浏览器指定的HTML页面,页面为Django的Template模板,负责展示被请求的页面内容。

在view部分的代码中,已经指定了页面显示模板为news_report.html。其实,在Django工程中创建模板是一件非常方便的事情,下面要在article目录内创建这个模板页面,首先新建一个名为templates的文件夹,然后在这个模板目录里创建所需的news_report.html模板文件,模板的代码如下:

上一页  4 5 6 7 8 9 10  下一页

Tags:基于 Django 框架

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接