如何在更新页面中获得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>