Django 构建模板form表单的两种方法


Posted in Python onJune 14, 2020

通常情况下,我们想构建一张表单时会在模板文件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 forms

class 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 MessageGetForm

class 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>

渲染后的页面效果

Django 构建模板form表单的两种方法

2、将数据表的字段映射到模板文件form表单

数据表courses_lesson字段如下

Django 构建模板form表单的两种方法

在app下新建forms.py(/users/forms.py)

#此处我们假设你的项目文件courses/models.py内含有Lesson类from apps.courses.models import Lesson
from django.forms import ModelForm

class CoursesLessonForm(ModelForm):
 class Meta:
  model = Lesson
  fields = ['add_time', 'name', 'learn_times'] #要显示的字段

在视图文件中引用上边表单字段并传递给模板(users/view.py)

from apps.users.forms import CoursesLessonForm

class 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 构建模板form表单的两种方法

所有表单类都作为 django.forms.Form 或者  django.forms.ModelForm 的子类来创建。您可以把  ModelForm 想象成  Form 的子类。实际上  Form 和  ModelForm 从(私有)  BaseForm 类继承了通用功能,但是这个实现细节不怎么重要。

到此这篇关于Django 构建模板form表单的两种方法的文章就介绍到这了,更多相关Django 构建模板form表单的两种方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的内存泄漏及gc模块的使用分析
Jul 16 Python
Python使用Supervisor来管理进程的方法
May 28 Python
详解Python中的序列化与反序列化的使用
Jun 30 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
Dec 04 Python
mysql 之通过配置文件链接数据库
Aug 12 Python
VSCode Python开发环境配置的详细步骤
Feb 22 Python
python 堆和优先队列的使用详解
Mar 05 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
python 简单的调用有道翻译
Nov 25 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
Feb 25 Python
pycharm Tab键设置成4个空格的操作
Feb 26 Python
Python Django搭建网站流程图解
Jun 13 #Python
Python xpath表达式如何实现数据处理
Jun 13 #Python
Python轻量级web框架bottle使用方法解析
Jun 13 #Python
PyInstaller运行原理及常用操作详解
Jun 13 #Python
Pandas缺失值2种处理方式代码实例
Jun 13 #Python
Python Django中间件使用原理及流程分析
Jun 13 #Python
Django QuerySet查询集原理及代码实例
Jun 13 #Python
You might like
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
IE6兼容透明背景图片及解决方案
2015/08/19 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
webpack 从指定入口文件中提取公共文件的方法
2018/11/13 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
django DRF图片路径问题的解决方法
2018/09/10 Python
python 格式化输出百分号的方法
2019/01/20 Python
提升Python程序性能的7个习惯
2019/04/14 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
蛋白质世界:Protein World
2017/11/23 全球购物
我们的节日清明节活动方案
2014/03/05 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
论文答谢词
2015/01/20 职场文书
出租车拒载检讨书
2015/01/28 职场文书
个人廉洁自律总结
2015/03/06 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
单身证明格式样本
2015/06/15 职场文书
感恩的心主题班会
2015/08/12 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS