如何在更新页面中获取复选单选按钮的值



如何在更新页面中获得check单选按钮的值,它将其保存为DB,但在更新页面上它没有显示所选的单选按钮。

型号

class UserListGroup(models.Model):
user_role = models.CharField(max_length=25, default="USER")
def __int__(self):
return self.ulg_id
class Meta:
db_table = 'userlist_group'

在添加html 中

<tr>
<td class="mtrr"><b>User Role*</b></td>
<td class="mtrr"><label class="radio-inline"><input type="radio" name="user_role" value="admin" checked>Admin</label></td>
<td class="mtrr"><label class="radio-inline"><input type="radio" name="user_role" value="super">Super User</label></td>
<td class="mtt"><label class="radio-inline"><input type="radio" name="user_role" value="user">User</label></td>
</tr>

在更新中添加html

<tr>
<td class="mtrr"><b>User Role*</b></td>
<td class="mtrr"><label class="radio-inline"><input {% if data.ul_role == True %} checked {% endif %} type="radio" name="user_role">Admin</label></td>
<td class="mtrr"><label class="radio-inline"><input {% if data.ul_role == True %} checked {% endif %} type="radio" name="user_role">Super User</label></td>
<td class="mtt"><label class="radio-inline"><input  {% if data.ul_role == True %} checked {% endif %}  type="radio" name="user_role">User</label></td>
</tr>

在视图

def add_user(request):
if request.method == 'POST':
form = request.POST
user_role = form.get('user_role')
employee_master = UserListGroup.objects.create(user_role=user_role,
)//other code

您的信息有点不完整,因为您遗漏了更新视图

你可以按照以下解决你的问题

将CHOICE属性添加到用户角色字段

型号:

class UserListGroup(models.Model):
ROLE = (('user', 'USER'), ('admin', 'ADMIN'), ('super', 'SUPER USER')) 
user_role = models.Charfield(max_length=25, choices=ROLES, default=user)

使用选项将导致使用html小部件,使用单选按钮,创建Django表单并将其更新为以下

from Django forms import ModelForm, RadioSelect
from .models import UserListGroup
class UserListGroupForm(ModelForm):
class Meta:
model = UserListGroup
field = '__all__'
widgets = {
'user_role': RadioSelect()
}

您的add.html和update.html看起来类似于

<form method="POST" action="">
{% csrf_token %}
{{ form }}
</form>

对于这种简单粗暴的操作,最好使用Django通用视图

最后,您在update.html中检查当前用户角色的方法是错误的,因为这三种情况下的条件都是相同的。应将其与可能的数据库值进行比较,如下

<tr>
<td class="mtrr"><b>User Role*</b></td>
<td class="mtrr"><label class="radio-inline"><input {% if data.ul_role == 'admin' %} checked {% endif %} type="radio" name="user_role">Admin</label></td>
<td class="mtrr"><label class="radio-inline"><input {% if data.ul_role == 'super' %} checked {% endif %} type="radio" name="user_role">Super User</label></td>
<td class="mtt"><label class="radio-inline"><input  {% if data.ul_role == 'user' %} checked {% endif %}  type="radio" name="user_role">User</label></td>
</tr>

相关内容

  • 没有找到相关文章

最新更新