项目完成

  • 基本知识点都学完了,接下来完成示例项目
  • 现在还需要的代码包括三个方面,三个方面顺序不分先后
    • 1.定义视图
    • 2.定义URLconf
    • 3.定义模板

定义视图

  • 编写booktest/views.py文件如下
from django.shortcuts import render
from models import BookInfo #首页,展示所有图书
def index(reqeust):
#查询所有图书
booklist = BookInfo.objects.all()
#将图书列表传递到模板中,然后渲染模板
return render(reqeust, 'booktest/index.html', {'booklist': booklist}) #详细页,接收图书的编号,根据编号查询,再通过关系找到本图书的所有英雄并展示
def detail(reqeust, id):
#根据图书编号对应图书
book = BookInfo.objects.get(pk=id)
#将图书信息传递到模板中,然后渲染模板
return render(reqeust, 'booktest/detail.html', {'book': book})

定义URLconf

  • 编写booktest/urls.py文件如下
from django.conf.urls import url
#引入视图模块
from . 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.title}}</a>
</li>
{%endfor%}
</ul>
</body>
</html>
  • 编写templates/booktest/detail.html文件如下
<html>
<head>
<title>详细页</title>
</head>
<body>
{#输出图书标题#}
<h1>{{book.title}}</h1>
<ul>
{#通过关系找到本图书的所有英雄,并遍历#}
{%for hero in book.heroinfo_set.all%}
{#输出英雄的姓名及描述#}
<li>{{hero.hname}}---{{hero.hcontent}}</li>
{%endfor%}
</ul>
</body>
</html>

Django_06_项目完成的更多相关文章

  1. 【Sprint3冲刺之前】项目完成时间表

    Sprint2冲刺成果——项目完成时间表 项目完成时间表 经过Sprint2小组总结会议的探讨,我们决定一起约定项目alpha版本,beta版本,release版本的发布时间,发布形式及预计完成效果 ...

  2. 项目完成小结 - Django3.x版本 - 开发部署小结 (2)

    前言 好久没更新博客了,最近依然是在做之前博客说的这个项目:项目完成 - 基于Django3.x版本 - 开发部署小结 这项目因为前期工作出了问题,需求没确定好,导致了现在要做很多麻烦的工作,搞得大家 ...

  3. CRM项目完成实现

    这两天我们都在写项目的接口与实现的! 今天主要是遇到的问题: 当我在添加新的班级的时候,班级的老师 我需要去判断这个老师是否存在,如果不存在的话,我就要把这个老师添加到学校的员工表中! 我会先判断这个 ...

  4. 转载:电商项目完成的BUG调查原因和解决方案

    转载: http://blog.csdn.net/yuexianchang/article/details/73197874

  5. Python项目完成

    今天,来对之前自学python做的一个小任务进行复习和总结,首先回顾之前任务的每一个步骤,按照自己个人的思路,一布一步往下做 需求:根据主网站,爬取出大连市各年地区生产总值,观察2010至2015年的 ...

  6. Eclipse的Web项目完成后怎么发布到Tomcat

    打开eclipse,在“Server Locations”处,可以看到默认的是“Use Workspace metadata”. 而我们选择“Use Tomcat installation”,使用to ...

  7. vs2010 安装项目完成桌面快捷方式无法定位程序文件夹 解决方法

    本文转载自http://www.cnblogs.com/jasonxuvip/archive/2012/07/13/2589952.html 软件打包工具有很多种,让人不知道选那个方便自己使用,Tig ...

  8. excel自动记录项目完成进度,是否逾期,逾期/提前完成天数,计算天数可以把now()改为today()

    =IF(D38="",NOW()-C38,F38) 注:如果没有启用迭代计算,可以点击"文件"-"选项"-"公式"-&q ...

  9. 项目完成 - 基于Django3.x版本 - 开发部署小结

    前言 最近因为政企部门的工作失误,导致我们的项目差点挂掉,客户意见很大,然后我们只能被动进入007加班状态,忙得嗷嗷叫,直到今天才勉强把项目改完交付,是时候写一个小结. 技术 因为前期需求不明确,数据 ...

随机推荐

  1. 【算法导论】--分治策略Strassen算法(运用下标运算)【c++】

    由于偷懒不想用泛型,所以直接用了整型来写了一份 ①首先你得有一个矩阵的class Matrix ②Matrix为了方便用下标进行运算, Matrix的结构如图:(我知道我的字丑...) Matrix. ...

  2. from提交数据,高级选择器,伪类选择器,前端样式等

    1. form提交数据 get: 不安全的提交数据,高效 post: 安全的提交数据,低效 前台都可以给后台提交数据,后台一定会给前台一个反馈结果 2. 高级选择器 <!DOCTYPE html ...

  3. 【ARM-Linux开发】C语言getcwd()函数:取得当前的工作目录

    相关函数:get_current_dir_name, getwd, chdir 头文件:#include <unistd.h> 定义函数:char * getcwd(char * buf, ...

  4. spring中的bean的生命周期

    bean的生命周期:bean的创建 —— 初始化 ——销毁的过程 容器管理bean的生命周期,我们可以自定义初始化和销毁方法,容器在bean进行到当前生命周期就会调用我们的方法 在xml配置文件中是在 ...

  5. layui layer.open弹出框获取不了 input框的值

    layer.open({ title:'添加管理员', type: 1, content: $('.add_html').html(), btn:['添加', '取消'], btnAlign:'c', ...

  6. MongoDB的可视化工具(Studio 3T)的安装

    通过可视化工具,我们可以不用在命令行操作MongoDB了,可以直接使用类似于SQLyog的软件进行相关操作 1.下载地址(二者择其一即可),可使用迅雷来进行下载,否则下载速度极其慢 2018.4.6版 ...

  7. js中的三目运算符详解

    判断 javascript中的三目运算符用作判断时,基本语法为: expression ? sentence1 : sentence2 当expression的值为真时执行sentence1,否则执行 ...

  8. Feign 接口上传文件

    1)Encoder 配置注入容器 2) public class SpringFormEncoderExtension extends FormEncoder { /** * 使用默认的feign编码 ...

  9. idea调试框架时如何能够进入maven依赖包的源码

    最近用idea使用spring security做登录与权限控制,在调试过程中碰到问题,经常需要断点追踪源码,深入查看其中问题.但是maven中引用的包,进入后都是.class文件,非源码.导致查看时 ...

  10. work note

    eclipse git 察看历史 左边是提交的 import { NgModule } from '@angular/core'; import { IonicPageModule } from 'i ...