我正在尝试创建一个View,要求用户确认更新实例值的操作。我希望View只有一个提交按钮。我想要的是类似于DeleteView,除了我想要的是更新记录的值而不是删除记录。
我尝试使用基于类的UpdateView,但它要求我指定一个fields参数,我必须在其中指定至少一个字段,我不想显示任何字段,只需提交按钮。
这就是我的模板现在的样子:
url(r'^action/complete-item/(?P<pk>\d+)/$', views.CompleteItemView.as_view(), name='complete'),
视图的网址:
class CompleteItemView(UpdateView):
model = models.Item
template_name = 'items/complete_item.html'
fields = ("status",)
def form_valid(self, form):
form.instance.status = 'completed'
return super().form_valid(form)
我的UpdateView:
<html>
<body>
<table>
<tr><td>Image name</td></tr>
<tr><td><a href='#openModal'>Image1</a></td></tr>
</table>
<div id="openModal">
<table>
<tr><td>Sensor value</td></tr>
<?php
$sql="SELECT sensor_value FROM table WHERE imageid='$id'";
$result=mysqli_query($conn,$sql);
if($result){
$row=$result->fetch_assoc();
echo "<tr><td>".$row['sensor_value']."</td></tr>";
}
?>
</table>
上面我选择了显示状态字段,这就是我想以优雅的方式摆脱它,因为我只想显示没有任何字段的确认按钮。
答案 0 :(得分:1)
而不是
if (has_post_thumbnail($post->ID)) {
$retina = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'homepage-thumb-retina' );
echo '<img src="' . $retina[0] . '" alt="' . the_title() .'" width="300" height="150" /> <br/>' ;
};
你可以简单地写
{{ form.as_p }}
这会将<input name="{{ form.status.html_name }}" id="{{ form.status.id_for_label }}"
value="{{ form.status.value }}" type="hidden">
字段隐藏起来,只有status
按钮可见。
答案 1 :(得分:0)
你可以使用这样的Javascript:
<script>
$(document).on('click', '.some_class', function(){
return confirm('Are you sure you want to update this?');
})
</script>
将类some_class添加到按钮