mysql 用户 类别_从mysql里读取用户类型

##1、后端1(从mysql里读取用户类型):

from django import forms

from django.forms import widgets

from django.forms import fields

from app01 import models

from django.forms import ModelChoiceField,ModelMultipleChoiceField

from django.shortcuts import render,redirect,HttpResponse

from django.views.decorators.csrf import csrf_exempt,csrf_protect

class UserForm(forms.Form):

##这里的数据不是数据库里的,但可以让后台处理并写入数据库

user = fields.CharField(required=False,widget=widgets.Textarea(attrs={'class':'c1'}))

pwd = fields.CharField(max_length=12,widget=widgets.PasswordInput(attrs={'class':'c1'}))

# user_type = fields.ChoiceField(choices=[(1,'普通用户'),(2,'超级用户1')])

user_type = fields.ChoiceField(choices=[],widget=widgets.Select)

user_type2 = fields.CharField(widget=widgets.Select(choices=[]))

##以上仅是定义了数据的格式和html样式,需要在以下的def __init__里定义后才能读取mysql里的数据

user_type3 = ModelChoiceField(empty_label='请选择用户类型',queryset=models.UserType.objects.all(),to_field_name='id')

#以上的type3可直接读取数据库里的数据,但只有在models的UserType里添加了以下代码才行:

# def __str__(self):

# return self.name

def __init__(self,*args,**kwargs):

super(UserForm,self).__init__(*args,**kwargs)

self.fields['user_type'].choices=models.UserType.objects.values_list('id','name')

##以上这一行可以直接从数据库里读出user_type的数据出来。

self.fields['user_type2'].widget.choices=models.UserType.objects.values_list('id','name')

##2、后端2(views.py里配):

def UserInfoForm(request):

from app01.forms import UserForm

obj = UserForm()

#函数会从静态对象obj里封装到obj.fields里,里面有user,pwd,user_type

# obj.fields['user_type'].choices = models.UserType.objects.values_list('id','name')

#上面这一句也可以放在UserForm里来更新,所以这里注掉了。

return render(request,'userinfoform.html',{'obj':obj})

##3、前端:

Title

{% csrf_token %}

{{obj.user}}

{{obj.pwd}}

{{obj.user_type}}

{{obj.user_type2}}

{{obj.user_type3}}

##4、urls:

url(r'^userinfoform/', views.UserInfoForm),

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值