FOrm: class InitialForm(DForms.Form): user = fields.CharField() user_type = fields.IntegerField( widget=widgets.Select(choices=[]) ) # 在使用选择标签的时候,choices可以从数据库中获取,但由于的静态字段,获取的值无法实时的 # 更新,则自己定义构造方法,实时的获取 def __init__(self, *args, **kwargs): super(InitialForm, self).__init__(*args, **kwargs) self.fields['user_type'].widget.choices = models.UserType.objects.all().values_list('id', 'caption') views:
# 编辑默认的显示页面的数据 def initial(request): if request.method == "GET": nid = request.GET.get('nid', None) m = models.UserInfo.objects.filter(id=nid).first() print(m) dic = {"user": m.name, "user_type": m.ut_id} obj = forms.InitialForm(dic) return render(request, "initial.html", {'obj': obj})
前端:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {{ obj.user }} {{ obj.user_type }} </body> </html>