时间:2021-05-22
通常情况下,我们想构建一张表单时会在模板文件login.html中写入
<form action="/your-name/" method="post"> <label for="your_name">Your name: </label> <input id="your_name" type="text" name="your_name" value="{{ current_name }}"> <input type="submit" value="OK"></form>下面说说我们在使用django是如何在模板文件中生成form表单:
1、自定义显示的字段:
假如我们要在模板中生成一张含有username和content的表单
在app下新建forms.py(/users/forms.py)
from django import formsclass MessageGetForm(forms.Form): username = forms.CharField(label='用户', max_length=5) #max_length 浏览器限制用户输入的字符串长度 content = forms.CharField(label='留言', max_length=100)在视图文件中引用上边表单字段并传递给模板(users/view.py)
from apps.users.forms import MessageGetFormclass MessageView(View): def get(self, request, *args, **kwargs): message = MessageGetForm() return render(request, "message.html", {"message": message})在模板文件调用(message.html)
<form action="" method="get"> {{ message }}</form>渲染后的页面效果
2、将数据表的字段映射到模板文件form表单
数据表courses_lesson字段如下
在app下新建forms.py(/users/forms.py)
#此处我们假设你的项目文件courses/models.py内含有Lesson类from apps.courses.models import Lessonfrom django.forms import ModelFormclass CoursesLessonForm(ModelForm): class Meta: model = Lesson fields = ['add_time', 'name', 'learn_times'] #要显示的字段在视图文件中引用上边表单字段并传递给模板(users/view.py)
from apps.users.forms import CoursesLessonFormclass MessageView(View): def get(self, request, *args, **kwargs): message = CoursesLessonForm() return render(request, "message.html", {"message": message})在模板文件调用(message.html)
<form action="" method="get"> {{ message }}</form>页面效果图:
所有表单类都作为 django.forms.Form 或者 django.forms.ModelForm 的子类来创建。您可以把 ModelForm 想象成 Form 的子类。实际上 Form 和 ModelForm 从(私有) BaseForm 类继承了通用功能,但是这个实现细节不怎么重要。
到此这篇关于Django 构建模板form表单的两种方法的文章就介绍到这了,更多相关Django 构建模板form表单的两种方法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
jquery的ajax提交form表单的两种方法小结(推荐)方法一:functionAddHandlingFeeToRefund(){varAjaxURL=".
以下是Django框架获取各种form表单数据的方法Django中获取text,password名字: 密码: Form表单提交数据时使用的是post方式,
一般说来,你会把模板以文件的方式存储在文件系统中,但是你也可以使用自定义的templateloaders从其他来源加载模板。Django有两种方法加载模板dja
原来以为文件上传是一个比较简单的功能,结果搞了一个晚上才搞定~这里主要介绍两种方法实现。方法一:Form表单提交html代码:上传文件UploadHandler
form表单的action与url跳转是不一样的:form表单可以给后台传递数据,在后台直接可以用request对象去向前台请求数据。form表单传递数据有两种