导读:本篇文章首席CTO笔记来给大家介绍有关django怎么生成实时form的相关内容,希望对大家有所帮助,一起来看看吧。
如何利用Django的Form类动态生成下拉列表
有两种方法。
一、自己手动写 html 模板中的 form ... /form
在views 中,将所需要的数据传递过去,比如 names_list = [1, 2, 3, 4]
在 html 中
select
{% for x in name_list %}
option value ="{{ x }}"{{ x }}/option
{% endfor %}
/select
二、使用 Form 自动生成表单
这就需要在 views 中 动态初始化表单
具体的内容自己查 相应版本的 django文档去
内容在“Forms”中。
最后给你个建议吧。好好看文档去,在这提问等答案的功夫,不知能看多少文档。
学习从来都是自己的事情,多看多读多思考,实在不会再去问。
我是怎么做到使用django动态定义表单的
在远标了解过如果Django的form或者model定义比较完善的话,可以动态生成表单,但是在今天这个Ajax的时代,后端自动生成的表单,往往交互体验有限,企业快速应用用这个玩玩倒不错,真正做产品不推荐这么做。
如何正确使用 Django Forms
首先你要创建自己的Form类,继承于django的Form,
然后创建form中的字段,例子如下:
from django import forms
class AuthenticationForm(forms.Form):
"""
Base class for authenticating users. Extend this to get a form that accepts
username/password logins.
"""
username = forms.CharField(label=_("Username"), max_length=254)
password = forms.CharField(label=_("Password"), widget=forms.PasswordInput)
error_messages = {
'invalid_login': _("Please enter a correct username and password. "
"Note that both fields may be case-sensitive."),
'no_cookies': _("Your Web browser doesn't appear to have cookies "
"enabled. Cookies are required for logging in."),
'inactive': _("This account is inactive."),
}
如果你英文还可以,可以直接看官方文档,最权威的:
前端动态增加Field,该怎样创建Form模型
1. formsets是同一个model的组合,而这里是两个model,(Book和Author)
2. django的form如果用后台渲染的话,是在生成form的时候就确定了form里面的字段,哪怕是动态生成,而这里的需求是前台(js)动态修改form里面的字段(增删字段)
目前我的解决方案是 自己写html模板,已经放弃了form表单,然后ajax传入后台,自己解析,保存。
结语:以上就是首席CTO笔记为大家介绍的关于django怎么生成实时form的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。