其他分享
首页 > 其他分享> > Django框架学习---入门-项目完成(1.7)

Django框架学习---入门-项目完成(1.7)

作者:互联网

基本知识点都学完了,接下来完成示例项目。 �

�现在还需要的代码包括三个方面,三个方面顺序不分先后。

定义视图

编写booktest/views.py文件如下:

from django.shortcuts import render
from booktest.models import BookInfo

#首页,展示所有图书
def index(reqeust):
    #查询所有图书
    booklist = BookInfo.objects.all()
    #将图书列表传递到模板中,然后渲染模板
    return render(reqeust, 'booktest/index.html', {'booklist': booklist})

#详细页,接收图书的编号,根据编号查询,再通过关系找到本图书的所有英雄并展示
def detail(reqeust, bid):
    #根据图书编号对应图书
    book = BookInfo.objects.get(id=int(bid))
    #查找book图书中的所有英雄信息
    heros = book.heroinfo_set.all()
    #将图书信息传递到模板中,然后渲染模板
    return render(reqeust, 'booktest/detail.html', {'book':book,'heros':heros})

定义URLconf

编写booktest/urls.py文件如下:

from django.conf.urls import url
#引入视图模块
from booktest import views
urlpatterns = [
    #配置首页url
    url(r'^$', views.index),
    #配置详细页url,\d+表示多个数字,小括号用于取值,建议复习下正则表达式
    url(r'^(\d+)/$',views.detail),
]

定义模板

编写templates/booktest/index.html文件如下:

<html>
<head>
    <title>首页</title>
</head>
<body>
<h1>图书列表</h1>
<ul>
    {#遍历图书列表#}
    {%for book in booklist%}
    <li>
     {#输出图书名称,并设置超链接,链接地址是一个数字#}
      <a href="/{{book.id}}/">{{book.btitle}}</a>
    </li>
    {%endfor%}
</ul>
</body>
</html>

编写templates/booktest/detail.html文件如下:

<html>
<head>
    <title>详细页</title>
</head>
<body>
{#输出图书标题#}
<h1>{{book.btitle}}</h1>
<ul>
    {#通过关系找到本图书的所有英雄,并遍历#}
    {%for hero in heros%}
    {#输出英雄的姓名及描述#}
    <li>{{hero.hname}}---{{hero.hcomment}}</li>
    {%endfor%}
</ul>
</body>
</html>

总结

  1. 安装配置django运行的环境
  2. 编写模型,使用API与数据库交互
  3. 使用django的后台管理管理数据
  4. 通过视图接收请求,通过模型获取数据
  5. 调用模板完成展示

标签:1.7,入门,url,视图,booktest,book,模板,Django,图书
来源: https://blog.csdn.net/weixin_41334453/article/details/90277729