Django choices to js `' `(html select option)
Django,choices,to,js,amp,x27,html,select,option
2025-03-20 08:48:58 时间
要件:
typeChoices→html:select > option
key-value:【<option value="`{{value}}`">{{name}}
</option>】
from django.db import models
class typeChoices(models.TextChoices):
NEW = '新規', '新規'
UPD= '修正', '修正'
问题&注意:
问题:单引号会以hex形式出现【 '】
解决:
let choices ={{type_choices|safe
}}
対策:
1, convert to array
pj>util>convert.py
from django.db import models
def get_js_choices(choice:models.TextChoices):
"""js filter choices
Args:
choice (models.TextChoices): choices
Returns:
array: js choices
"""
js_choices = []
for c in choice:
ch = {}
ch["name"] = c.value
ch["value"] = c.value
js_choices.append(ch)
return js_choices
2, init process
pj>xx>list_view.py
def list_init(request):
"""初期化"""
context = {}
context['type_choices'] = get_js_choices(typeChoices) # js 使用
context['type_choices'] = typeChoices.choices # django templete 使用
return render(request, 'master/xx_list.html',context)
3, templete :
① js 使用 (handsbar)
safe :若不加,单引号会以hex形式出现【' 】
let choices = {{type_choices|safe}} # safe :若不加,单引号会以hex形式出现【' 】
var str = `
<div class="select ml-2 is-small" >
<select class="field-value" style="width:30rem;">
{{#each choices}}
<option value="{{value}}">{{name}}</option>
{{/each}}
</select>
</div>
`;
var value_template = Handlebars.compile(str);
② django templete 使用
<select id="type" name="type">
<option></option>
{% for op in type_choices %}
<option value="{{op}}">{{op}}</option>
{% endfor %}
</select>
相关文章
- django RelatedObjectDoesNotExist
- Pycharm如何创建Django项目「建议收藏」
- pycharm怎么配置django环境_pycharm环境搭建
- Django中的关系映射
- pycharm django环境搭建_创建web项目
- Django学习笔记一初识Django
- 【Django | 开发】面试招聘信息网站(处理产品细节和权限&美化页面样式)
- 使用 Django 的 admin 定制后台,丰富自己网站的后台管理系统
- Python进阶30-Django AJAX
- django pycharm_pycharm调试django
- 使用 PyCharm 远程调试 Django 程序「建议收藏」
- django在docker环境中断点调试
- Python进阶34-Django 中间件
- Python项目52-Django封装支付宝支付
- 一次完整的 Django 项目的迁移,有关 MySQL 数据库的导出与导入
- 一个提供公告和打赏功能的 django 应用插件 django-tctip
- 在pycharm中安装pip_pycharm安装django
- Django-缓存内容
- Django模板引擎中变量作为属性值调用
- Django的聚合查询与原生操作