- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一种优雅的方式来显示 Django 中所有可用的项目(不仅仅是选中的项目)DetailView
, 同时对选中的样式进行样式化。
给定以下模型:
class Topping(models.Model):
title = models.CharField(max_length=200)
class Pizza(models.Model):
topping = models.ManyToManyField(Topping, blank=True, null=True)
我正在使用
CheckboxSelectMultiple
以我的形式呈现浇头(=呈现为多个复选框),例如:
toppings = forms.ModelMultipleChoiceField(
required=False,
queryset=Toppings.objects.all(),
widget=forms.CheckboxSelectMultiple,
)
哪些浇头是
也是相关的不是 被选中,因此我想在我的
DetailView
中渲染一些东西如下所示(选中时显示选中的复选框;未选中时显示空复选框和浅灰色文本,与表单中看到的顺序相同,即在此示例中按字母顺序排列):
Chosen pizza toppings:
☑ Bluecheese
☐ Green peppers
☐ Onions
☑ Red peppers
我目前按如下方式浏览浇头,但这仅显示选定的浇头:
{% for option in object.toppings.all %}☑ {{ option }}<br />{% endfor %}
我有一大堆不同的
ManyToManyField
在我的主要模型上。
最佳答案
您可以通过 DetailView
用 bool 值注释的浇头确定 Topping
s 已被选中。例如,我们可以使用 Exists
subquery [Django-doc] 来做到这一点。 :
from django.db.models import Exists, OuterRef
from django.views.generic import DetailView
class PizzaDetailView(DetailView):
model = Pizza
# …
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
item = self.object
context['toppings'] = Topping.objects.annotate(
has_topping=Exists(
Pizza.topping.through.objects.filter(
topping_id=OuterRef('pk'),
pizza_id=self.object.pk
)
)
)
return context
然后在模板中,您可以使用以下命令进行渲染:
{% for topping in toppings %}
{% if topping.has_topping %}☑{% else %}☐{% endif %} {{ topping }}<br/>
{% endfor %}
关于django - 在 DetailView 中显示选中和未选中的多对多选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66612807/
我正在 Apple Developer 网站上查看适用于 iOS 的 SimpleDrillDown 示例:http://developer.apple.com/library/ios/#sample
我是新手 我的xcode版本是11.2.1,swift是5.1.2 当我在MasterView中使用NavigationView时,我有两个DetailView 我想在第一个DetailView关闭时
I am newbie on python django. when following Django Tutorial > Part04 > Generic View , i have troubl
我是 Django 的新手。有一个 html 页面 (project_details) 应该显示项目的标题和任务,但只显示项目的标题,而不是任务。任务存在,问题出在过滤器上!!! View .py 错
我有一个要显示为详细信息 View 的模型,我创建了一个 ListView ,该 ListView 有一个指向其详细信息 View 的链接。我没有收到任何错误,但模板没有呈现任何模型细节 链接到 De
我有点困惑,并希望利用 DetailView 功能使用外键作为我的过滤器来显示数据。基本上我的模型是这样的: class Category(models.Model): name = mode
我的模型事件有一个基于类的 DetailView,我想显示通过外键关联的类别条目。 模型.py class Event(models.Model): name = models.CharFie
我想返回用户相关记录。有人可以帮助我吗? 我的部分观点 class UserProfileDetailView(DetailView): model = get_user_model()
我正在尝试使用聚光灯结果引导用户到我的应用程序中的相应部分。 MainView 有几个按钮,允许转到应用程序的不同区域,其中之一是电话目录,位于它自己的 SplitViewController 内。
我正在尝试创建主细节 View 应用程序,但有点卡住了。 我有一个包含 100 个 DynamicPrototype Cells 的 tableView 显示 Bars,当我点击一个 cell 时,我
在应用程序中,我有两个模型,名为“类(class)”和“步骤”。每个步骤都属于一个类(class),每个类(class)又包含许多步骤。但是,我在为步骤创建详细 View 时遇到问题。例如,当我转到
我有 2 个模型,我得到了 IndexView使用 get_context_data 正常工作方法。然而我的 DetailView使用相同的技术是行不通的。我如何简单地将 2 个模型放入 Detail
我正在寻找一种优雅的方式来显示 Django 中所有可用的项目(不仅仅是选中的项目)DetailView , 同时对选中的样式进行样式化。 给定以下模型: class Topping(models.M
有没有简单的方法可以强制DetailView在 Yii2 中忽略其 attributes 中的这些字段列表,特别是 model是空的? 或者唯一的方法是定义 attributes 上的每个属性具有自己
我正在尝试在 View 文件中渲染图像。我的代码如下: $model, 'attributes' => [ 'id', 'name',
我收到以下错误: ImproperlyConfigured at /elearning/7447932a-6044-498a-b902-97cbdd0a4001/ DetailView is miss
在我的 DetailView 中,我想根据我的 url 中的 kwargs 获取对象,另外还检索它的所有相关(外键)值。 我用: queryset = Category.objects.select_
我正在制作一个将 PO 导出为 PDF 的采购订单系统,但我需要在上半部分显示来自买方和卖方的数据。我想并排放置 2 个 DetailView,每个都有 50% 的页面宽度。有可能的?到目前为止,我还
在浏览了几个谷歌搜索结果页面后,我仍然陷入同样的问题。我正在尝试在博客文章下方实现评论字段。我感谢任何提示和建议! 我正在 Django 中开发一个博客,该博客设置了第一个通用 ListView
我需要在 Django 中编写一个 DetailView。我实现了这个功能。但是,我需要添加更多数据以及上下文对象。我将如何实现这一目标。 我的一般观点是: class AppDetailsView(
我是一名优秀的程序员,十分优秀!