首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Django html页面中显示外键数据?

在Django的html页面中显示外键数据,可以通过以下步骤实现:

  1. 在Django的模型中定义外键关系。假设有两个模型:AuthorBook,其中Book模型有一个外键字段author指向Author模型。
代码语言:txt
复制
from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)
  1. 在视图函数中查询数据并传递给模板。在视图函数中,可以使用select_related方法一次性查询相关的外键数据,然后将查询结果传递给模板。
代码语言:txt
复制
from django.shortcuts import render
from .models import Book

def book_list(request):
    books = Book.objects.select_related('author').all()
    return render(request, 'book_list.html', {'books': books})
  1. 在html模板中使用外键数据。在模板中,可以通过{{ 外键字段.关联模型字段 }}的方式访问外键数据。
代码语言:txt
复制
{% for book in books %}
    <h3>{{ book.title }}</h3>
    <p>Author: {{ book.author.name }}</p>
{% endfor %}

在上述示例中,book.author.name表示访问Book模型中的外键字段author关联的Author模型的name字段。

这样,就可以在Django的html页面中显示外键数据了。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库MySQL。

  • 腾讯云云服务器(CVM):提供高性能、可扩展的云服务器实例,适用于各种规模的应用程序部署。详情请参考:腾讯云云服务器
  • 腾讯云数据库MySQL:提供稳定可靠的云数据库服务,支持高可用、备份恢复、性能优化等功能,适用于各种规模的应用程序数据存储。详情请参考:腾讯云数据库MySQL
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django基表的创建、字段属性简介、脏数据概念、子序列化

两张表建立了一对一字段,在A表,那么先往B表写数据就更合理。...假设图书管理系统书、出版社、作者、作者详细信息四张表之间的关系如下: """ 表关系 1)Book 和 Publish 一对多:在多的一方 Book 2)Book 和 Author 多对多:在查询频率高的一方...更合理) """ Django orm中外字段属性详解 在建表之前我们对外字段属性进行了解: 1)related_name在外设置反向查询的字段名:正向找字段名,反向找related_name...子序列化 Django的子序列化的功能是:通过跨表查询数据然后对跨表查到的数据反序列化。...如果涉及到通过进行跨表查询,然后再将查询数据反序列化到前台就需要用到子序列化,比如下面的例子:我们查询出版社信息的时候连带将book表的该出版社所出版过的书名一并查出来。

4.3K30

Django实现将views.py数据传递到前端html页面,并展示

自学Django已经有一周啦,想把自己自学过程的每一步都记录下来,给一些零基自学Django的战友们一些参考;本次主要内容为,用一个实例展现views.py数据是如何传递到html页面,并在页面展示...在view部分的代码,已经指定了页面显示模板为news_report.html。...函数返回的数据库结果集显示页面Django特有的标签在模板页里以“{%”作为开始并以“%}”作为结束。...这样的标记告诉Django模板处理机制循环取出news的item项输出在页面,在for循环内部,通过article_listing的属性得到View对应的数据项字段的值并显示每个news项的Title...页面显示数据已添加所有新闻的分类统计信息。值得一提的是,Django模板支持多层嵌套,并且每一层都可以使用DIV+CSS方式完成布局,可以方便的让站点页面遵循统一风格,看起来美观大方。

8.9K10

关于“Python”的核心知识点整理大全59

例如,在项目“学习笔记”,应用程序的最高层数据是主题,而 所有条目都与特定主题相关联。只要每个主题都归属于特定用户,我们就能确定数据每个条 目的所有者。...下面来修改模型Topic,在其中添加一个关联到用户的。这样做后,我们必须对数据库 进行迁移。最后,我们必须对有些视图进行修改,使其只显示与当前登录的用户相关联的数据。 1....的模型User,然后在Topic添加了字段owner,它建 立到模型User的关系。...注意 你可以重置数据库而不是迁移它,但如果这样做,既有的数据都将丢失。一种不错的做 法是,学习如何在迁移数据库的同时确保用户数据的完整性。...19.3.4 保护用户的主题 我们还没有限制对显示单个主题的页面的访问,因此任何已登录的用户都可输入类似于 http://localhost:8000/topics/1/的URL,来访问显示相应主题的页面

11510

Python Django框架笔记(五):模型

#前言部分来自Django Book (一)    前言 大多数web应用本质上: 1、 每个页面都是将数据库的数据HTML格式进行展现。 2、 向用户提供修改数据数据的方法。...在这个模式, Model 代表数据存取层,View 代表的是系统中选择显示什么和怎么显示的部分,Controller 指的是系统根据用户输入并视需要访问模型,以决定使用哪个视图的那部分。...对于Django,可以理解为遵循MVC模式: M,数据存取部分,由django数据库层处理,即模型。 V,选择显示哪些数据显示以及怎样显示的部分,由视图和模板处理。...该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。 V代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。...在 Django 对 MVC 的诠释,视图用来描述要展现给用户的数据;不是数据 如何展现 ,而且展现 哪些 数据

2K60

Django 3.1 官网学习路线

我们将很快看到,它不仅用于数据库架构,而且用于验证。 字段还可以有各种可选参数;在本例,我们将投票的默认值设置为 0。 最后,请注意使用定义了关系。...按照惯例,Django 会将"_id"附加到外字段名。(是的,你也可以重写这个。) 关系是通过约束来显式的。...不要担心可延期的部分;它告诉 PostgreSQL 在事务结束之前不要强制执行。...不同的模型字段类型(DateTimeField、CharField)对应于适当的 HTML 输入小部件。每种类型的字段都知道如何在 Django 管理显示自己。...“添加选择”表单如下所示: 在该表单,“Question”字段是一个选择框,包含数据的每个问题。Django 知道一个应该在管理中表示为一个框。在我们的例子,目前只存在一个问题。

8.1K10

django 模型的计算字段实例

verbose_name='姓') given_name = models.CharField(max_length=20, verbose_name='名') def name(self): # 计算字段要显示在修改页面只能定义在只读字段...= '全名' # 用于显示时的名字 , 没有这个,字段标题将显示'name' def __str__(self): return "%s %s " % (self.family_name,..., 没有这个,字段标题将显示'name' readonly_fields = ('name',) admin.site.register(Person, PersonAdmin) 补充知识:django...如何在 search_fields 包含字段 在search_fields中加入一个的名字是不能查询的,要写成(键名__的字段名)的形式. search_fields = ('attributename...','goodsclass__cn') # goodsclass__cn 就可以搜索的名字中有搜索词的条目了, # 比如搜索手机的分辨率,而不是电脑的分辨率,就可以搜索'手机 分辨率' 以上这篇django

4.4K20

Django篇(一)

M:Model,模型,与数据库进行交互 V:View,视图 html页面 C:Controller,控制器,接收请求,处理,返回数据,与视图进行交互 MVC重要的思想就是解耦,各自干自己的事情。...Django内置ORM框架。运用这个框架让我们在操作数据库的时候更简单。 不用再写一些简单的Sql语句,通过创建一个类,来一一对应数据库中表的字段。 通过操作类来操作数据的表。...,当然不是mysql数据库,在Django如果不设置数据库用什么,会默认使用sqlite3数据库。...name = models.CharField(max_length=20) # sid = models.ForeignKey('stuinfo') 多表联查有个,...接下来刷新我们的浏览器的管理页面。 就会多出一个队stuinfo表的管理。 我们可以在里面对stuinfo表操作,添加数据。 保存之后会显示: ?

1K30

马哥金牌分享 | 十分钟学会用Django快速搭建一个blog

但是在Django,控制器接受用户输入的部分由框架自行处理,所以Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为MTV模式。...1.1 Django的结构模型 层次 职责 模型(Model)数据存取层 处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。...视图(View)表现层 处理与表相关的决定: 如何在页面或其他类型文档中进行显示。 模板(Template),业务逻辑层 存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。...表之间是否需要进行关联?...{%endblock %}括起来 模版继承-index.html 模版继承-detail.html 5.3 前端展示-列表页面 5.4 前端展示-详情页 作者:原百度时代有限公司福州研发分公司移动云事业部高级运维开发工程师

2.4K51

Django 1.10文文档-第一个应用Part7-自定义管理站点

在这个表单,Question字段是一个select选择框,包含了当前数据库中所有的Question实例。Django在admin站点中,自动地将所有的关系展示为一个select框。...在我们的例子,目前只有一个question对象存在。 请注意图中的绿色加号,它连接到Question模型。每一个包含关系的对象都会有这个绿色加号。...填入相关信息点击保存后,Django自动将该Question保存在数据库,并作为当前Choice的关联对象。通俗讲就是,新建一个Question并作为当前Choice的。...自定义管理站点外观 很明显,在每一个admin页面坐上顶端都显示Django 管理”是感觉很荒诞,它仅仅是个占位文本。利用Django的模板系统,可以易修改它。...{%和{{都是Django模板语法的一部分。当Django渲染admin/base_site.html的时候,这个模板语言将被生成最终的html页面,就像Part3一样。

3.6K60

35.Django2.0文档

M:数据存取部分,由django数据库层处理,本章要讲述的内容。   V:选择显示哪些数据显示以及怎样显示的部分,由视图和模板处理。   ...该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。   V:代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。  ...默认地,管理工具使用`` 下拉框`` 来展现`` `` 字段。但是,正如`` 多对多字段`` 那样,有时候你不想忍受因装载并显示这些选项而产生的大量开销。...例如,我们的book数据库膨胀到拥有数千条publishers的记录,以致于book的添加页面装载时间较久,因为它必须把每一个publisher都装载并显示在`` 下拉框`` 。...它是一个包含字段名称的元组,它包含的字段将被展现成`` 文本框`` ,而不再是`` 下拉框`` 。

11.3K100

用python搭建一个校园维基网站(二)—— 可编辑内容的首页的创建

在wagtail的概念页面模型和模板文件是默认关联的,HomePage默认对应的模板为templates/home/home_page.html(注意命名的转换关系),而欢迎页http://127.0.0.1...我们的WikiHome页面模型需要图中红色高亮的一系列字段,其中title字段继承自Page类,不用额外添加,image字段为连接到wagtailimages.Image模型的。...还包含了一个wagtail提供的对ForeignKey进行了一层封装的ParentalKey连接到它所属的WikiHome页面。类似的,panels表明出现在可编辑区。 ? ?...WikiHomeTopLink类似,为了层次上更清晰,采用了多重继承,在models.py只定义ParentalKey,而在另一个文件定义了RelatedLink模型,包含的字段有链接文本和具体链接...对于模板来说,它对应的页面模型处于它的上下文环境,在模板可以调用到该页面模型的所有元素(使用Django的模板语言)。我们要按照页面排版将元素填充进去。

3.5K80

关于“Python”的核心知识点整理大全54

所有主题页面显示用户创建的所有主题,它是第一个需要使用数据的网页。 1. URL模式 首先,我们来定义显示所有主题的页面的URL。...我们将返回的查询集存储在topics。 在4处,我们定义了一个将要发送给模板的上下文。上下文是一个字典,其中的是我们将 在模板中用来访问数据的名称,而值是我们要发送给模板的数据。...在这里,只有一个—值对, 它包含我们将在网页显示的一组主题。创建使用数据的网页时,除对象request和模板的路径 ,我们还将变量context传递给render()(见5)。 3....模板 显示所有主题的页面的模板接受字典context,以便能够使用topics()提供的数据。请创建一 个文件,将其命名为topics.html,并存储到index.html所在的目录。...下面演示了如何在这个模板 显示主题: topics.html {% extends "learning_logs/base.html" %} {% block content %}

16510

Django模型

verbose_name = '图书' # 在admin站点中显示的名称 注意 模型类如果未指明表名,Django默认以小写app应用名_小写模型类名为数据库表名,一般我们会通过... 这个东西,通常都是在业务逻辑层面来实现的,而不是在数据实现。但是通常大家学习的数据库课程,都会有数据库设计范式,其中有个第三范式就是专指的约束。在这里只是简单的介绍一下。...choices参数就是从我们定义的二元组(GENDER_CHOICES)获取值。二元组的第一个值会储存在数据,而第二个值将只会用于在表单显示。...它的常用值可以如下: CASCADE级联,删除主表数据时连通一起删除外数据 PROTECT保护,通过抛出ProtectedError异常,来阻止删除主表中被应用的数据 SET_NULL设置为NULL...,此选项会抛出IntegrityError异常 注意:我们在数据,设置的时候需要制定另一张表关联的字段,但是在Django里并没有指定。

1.9K20

后端框架学习-Django

在该模式下依然存在控制层C,即主路由 Django模板层 模板层创建 模板:根据字典数据动态变化的html网页,根据视图中传递的字典数据动态生成相应的html页面 模板配置: 创建模板文件夹 ...创建一对一数据的模型类,和之前相同 有的模型类: wife = Wife.objects.create(name=’王夫人’,author = author1(类属性名称绑实例...)) wife = Wife.objects.create(name=’王夫人’,author_id = 1(类属性字段绑值)) 一对一查询 正向查询:从查对象 反向查询:从对象查 调用反向属性查询到关联的一方...无的模型类,和之前相同 有的模型类: 类似上面 wife = Wife.objects.create(name=’王夫人’,author = author1(类属性名称绑实例)...(request): return … 分页 分页指在web页面有大量数据需要显示,为了阅读方便在每个页显示部分数据

9.3K40

Django框架学习(三)

,返回渲染之后的完整的html页面,客户端只是显示。...3.1模板的作用 渲染产生html页面内容,进行数据展示 3.2模板的使用 flask: render_template('模板文件名',=,.....)...,默认值是False 在设置时,需要通过on_delete选项指明主表删除数据时,对于引用表数据如何处理,在django.db.models包含了可选常量: CASCADE 级联,删除主表数据时连通一起删除外数据...PROTECT 保护,通过抛出ProtectedError异常,来阻止删除主表中被应用的数据 SET_NULL 设置为NULL,仅在该字段null=True允许为null时可用 4.3迁移生成数据表...工具提供了shell命令,帮助我们配置好当前工程的运行环境(连接好数据库等),以便可以直接在终端执行测试python语句。

1.8K40

Django的模型类设计及展示示例详解

django设计数据模型类是基于ORM的对象关系映射更方便的进行数据数据操作。...DateTimeField: 日期时间 FileField: 上传文件字段 ImageField: 继承与FileFiled,对上传的内容进行校验,确保是有效地图片 ForeignKey: ...因为刚才继承了SubjectAdmin类要求显示学科的信息。 ? 我们现在可以将模型数据映射视图,展示到html页面上。 在Views.py文件中使用Subject将数据集合拿到 ?...在templates文件夹创建一个index.html文件 使用django模板的for循环将数据插入到html页面 ? 启动django,打开本地网址 ?...我们可以给页面添加照片可以使得页面更好看点 添加放置照片的文件夹在更目录的同级目录下 ? 并且在settings对static文件夹路径加以说明 ? 在将html页面修改 添加照片路径 ?

1.4K30

Django admin 一些有用的设置

#list_editable 设置默认可编辑字段     list_editable = ['machine_room_id', 'temperature']        #fk_fields 设置显示字段...过滤器如果是需要遵循这样的语法:本表字段__表要显示的字段。:“user__user_name” 3、颜色显示 想对某些字段设置颜色,可用下面的设置: ?...4.调整页面头部显示内容和页面标题 代码: ?...7.对单条数据 显示样式的修改  需求如下: ? 每条数据都有 个确认标识(上图红框),如果已经确认,用户再点击进入查看信息的时候全部只读显示,即不能在做修改,如果没确认在可以修改。...9.自定义列表字段 上面的一对多和多对多可以数据编辑显示,但在列表没有显示。有时还需要显示一些其他东西。例如两个字段相乘计算结果等等。这些都可以通过自定义列表字段处理和显示

2.6K70
领券