Python系列视频教程: Django【13讲】第12讲 数据展示

31 篇文章 0 订阅
23 篇文章 0 订阅

Python系列视频教程: Django【13讲】第12讲 数据展示

继续上一讲

>>> books
[<Book: python book1>, <Book: python book2>]
>>> author1.book_set.all()
[<Book: python book2>]
>>> for a in Author.objects.all():
...   for book in a.book_set.all():
...     print book
...
...
python book2
python book1
python book1

如何在web中呈现这些数据

blog\views.py

from blog.models import Author,Book
from django.shortcuts import render_to_response

# Create your views here.
def show_author(req):
   authors=Author.objects.all()
   return render_to_response("show_author.html",{"authors":authors})
 

urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
#from blog.models import Author,Book
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'csvt06.views.home', name='home'),
    url(r'^blog/show_author/$', 'blog.views.show_author'),
    url(r'^admin/', include(admin.site.urls)),
)

 

show_author.html

<body>
<h1>hello</h1>
{%for author in authors %}
<div>
{{forloop.counter}} {{author}} 
</div>
{%endfor %}
<div>
共有 {{authors.length}}记录 
</div>
 </body>

http://127.0.0.1:8000/blog/show_author/

hello

1 Alen
2 Ben
3 Cool
4 Dart
共有 记录

 

修改show_author.html

<body>
<h1>hello author</h1>
{%for author in authors %}
<div>
{{forloop.counter}} {{author}} 
  {%for book in author.book_set.all %}
    <li>{{forloop.counter}} {{book}} </li>
  {%endfor %} 
</div>
<div>
{%endfor %}
共有 {{authors.length}}记录 
</div>
 </body>

http://127.0.0.1:8000/blog/show_author/

hello author

1 Alen
  • 1 python book2
  • 2 java book1
2 Ben
  • 1 python book1
3 Cool
  • 1 python book1
  • 2 java book1
4 Dart
共有 记录

 

 

修改urs.py

url(r'^blog/show_book/$', 'blog.views.show_book'),

修改blog\views.py

def show_book(req):
  books=Book.objects.all()
  return render_to_response("show_book.html",{"books":books})
 
   

blog\templates\show_book.html

<body>
<h1>hello book</h1>
{%for book in books %}
<div>
{{forloop.counter}} {{book}} 
  {%for author in book.authors.all %}
    <li>{{forloop.counter}} {{author}} </li>
  {%endfor %} 
</div>
<div>
{%endfor %}
共有 {{books.length}}记录 
</div>
 </body>

http://127.0.0.1:8000/blog/show_book/

hello book

1 python book1
  • 1 Ben
  • 2 Cool
2 python book2
  • 1 Alen
3 java book1
  • 1 Alen
4 java book1
  • 1 Cool
共有 记录

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值