django-models - 在 ListView 中编辑模型
问题描述
我目前正在为我父母的面包店制作一个网站。我想为他们制作一个自定义管理页面,这样他们就可以轻松更新他们的产品。
这是我的模型:
class menulist(models.Model):
name = models.CharField(max_length=120)
description = models.CharField(max_length=500)
price = models.DecimalField(decimal_places=1, max_digits=10, default=100.00)
category_choices = (
('breads', 'Breads'),
('cakes', 'Cakes'),
('hotfood', 'Hot Food'),
('porkrolls', 'Pork Rolls'),
('drinks', 'Drinks'),
('MISC', 'Misc'),
)
category = models.CharField(max_length=50, choices=category_choices, default='MISC',)
dateadded = models.DateField(auto_now_add=True)
dateupdated = models.DateField(auto_now=True)
img = models.ImageField(upload_to='products/', default='products/blank.jpg')
def __str__(self):
return self.name
风景:
class ProductAdminView(ListView):
template_name = 'menulistapp/product_admin.html'
queryset = menulist.objects.all()
模板:
{% extends "base.html" %}
{% block content %}
<div class="container">
<div class="row">
<table class="table table-striped table-hover ">
<thead class="thead-dark">
<tr>
<th style="width: 15%"scope="col"></th>
<th style="width: 55%" scope="col">Product Name</th>
<th scope="col">Category</th>
<th scope="col">Price</th>
<th scope="col">Date Added</th>
<th scope="col">Last Updated</th>
</tr>
</thead>
<tbody>
{% for obj in object_list %}
<tr>
<td class="align-middle"><img src="{{ obj.img.url }}" class="img-fluid"></td>
<td class="align-middle">{{ obj.name }}</td>
<td class="align-middle">{{ obj.get_category_display }}</td>
<td class="align-middle">${{ obj.price }}</td>
<td class="align-middle">{{ obj.dateadded }}</td>
<td class="align-middle">{{ obj.dateupdated }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endblock %}
如何将项目分成自己的类别表?
以及如何使每个单元格都可以使用自己的 CharField 进行编辑,并且每个表格的底部都有一个“保存”按钮?
解决方案
你必须使用形式的概念来实现这一点
有关更多信息,请访问https://docs.djangoproject.com/en/2.1/topics/forms/
推荐阅读
- java - 捕获拦截器的返回值
- css - 如何更改 CSS 中不相关元素的样式
- c# - Console.Write(string) 不再适用于 VS 2017 WinForms 项目?
- reactjs - Reactjs检测重新加载按钮点击
- r - 使用收集时尝试维护索引
- .htaccess - htaccess 技巧不会删除重建网站的 FBCLID 查询字符串
- powerbi - 在 Power BI 中将 Unix 时间戳转换为日期时间
- angularjs - 如何从 observable 中获取数据?
- owl - OWL 术语 - 元模型描述的名称
- javascript - 加载 CSS 文件时的加载器