专栏首页恩蓝脚本Python之Django自动实现html代码(下拉框,数据选择)

Python之Django自动实现html代码(下拉框,数据选择)

我就废话不多说了,还是直接看代码吧!

#模板
class IndexForm(forms.Form):
 # 模板,用户提交的name和这里的变量名一定要是一致的.否则不能获取数据
 user = forms.CharField(min_length=6, error_messages={'required': '用户名不能为空', 'min_length': '用户名长度不能小于6'})
 email = forms.EmailField(error_messages={'required': '邮箱不能为空', 'invalid': '邮箱格式错误'})
 """
  单选
  favor = forms.ChoiceField(
  choices=[(1, '小虎'), (2, '小小虎'), (3, '小B虎')]
 )
 """
 # 多选
 favor = forms.MultipleChoiceField(
  choices=[(1, '小虎'), (2, '小小虎'), (3, '小B虎')]
 )
 pass
#函数
def index(request):
 obj = IndexForm()
 return render(request, "index.html", {'obj': obj})


def edit_index(request):
 obj = IndexForm({'user': 'root', 'email': '123@qq.com', 'favor': [2,3]})
 return render(request, "index.html", {'obj': obj})
#前端

<!DOCTYPE html 
<html lang="en" 
<head 
 <meta charset="UTF-8" 
 <title Title</title 
</head 
<body 
<p {{ obj.user }}</p 
<p {{ obj.email }}</p 
<p {{ obj.favor }}</p 
</body 
</html 

补充知识:django使用模板实现下拉菜单,菜单内容读取后台动态填充,并动态设置默认值

看代码吧!

<select id="heard1" class="form-control" required="" data-parsley-id="6485" name="name" 
   {% for name in data_list %}
   <option id="name" value="{{ name }}" {% if name == role_name %} selected {% endif %} {{ name }}</option 
   {% endfor %}
</select 

这里面的重点是:

{% if name == role_name %} selected {% endif %} 这句话中得判断条件,name就是自己从data_list中遍历出来得那个name, role_name也是自己传过来得数据,这个数据是我自己定义的另一个库中的数据,因为两个库是关联的;

data = UserManage.objects.get(id=id)
role_name = data.user_role.name
query_name_list_set = RolesManage.objects.values("name")
data_list = []
for name_dict in query_name_list_set:
  data_list.append(name_dict.get("name"))
return render(request, "users_manage/edit.html", {"data": data, "data_list": data_list, "role_name": role_name})

贴上代码,为了防止自己忘记了好回过头来翻看

以上这篇Python之Django自动实现html代码(下拉框,数据选择)就是小编分享给大家的全部内容了,希望能给大家一个参考。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 分布式缓存之Reids数据类型操作详解

    redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护...

    砸漏
  • keras读取训练好的模型参数并把参数赋值给其它模型详解

    本博文中的代码,实现的是加载训练好的模型model_halcon_resenet.h5,并把该模型的参数赋值给两个不同的新的model。

    砸漏
  • Python 抓取数据存储到Redis中的操作

    redis是一个key-value存储结构。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(...

    砸漏
  • python PAM30 PAMIE

    安装PAM30,由于没有直接的安装文件 需要下载压缩包 然后把压缩吧解压至python/Lib/site-package/下

    py3study
  • 【Python基础】函数的返回

    很多时候,函数并非直接输出,相反,它可以处理一些数据,并返回一个值或者一组值,称之为返回值。

    DataScience
  • Python 分布式缓存之Reids数据类型操作详解

    redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护...

    砸漏
  • Python操作redis数据库

      redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、se...

    马一特
  • Crowd 批量添加用户(Postman 数据驱动)

    最近公司大量新员工入职,需要批量创建 Crowd 用户、设置密码、分配应用组等机械性重复工作(主要还是懒~),故把这个加餐任务分配给刚来的测试同学去研究。

    叨叨软件测试
  • pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能

    首先拉取 Redis 镜像, 这里我选择的是 redis:alpine 轻量级镜像版本:

    素质
  • [python]父类、子类、子类实例属性

    py3study

扫码关注云+社区

领取腾讯云代金券