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实现基于HTTP文件传输实例
Nov 08 Python
Python pickle模块用法实例分析
May 27 Python
Python中不同进制的语法及转换方法分析
Jul 27 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
Apr 18 Python
Python中作用域的深入讲解
Dec 10 Python
Python如何获得百度统计API的数据并发送邮件示例代码
Jan 27 Python
对于Python深浅拷贝的理解
Jul 29 Python
Python for i in range ()用法详解
Sep 18 Python
Python 中如何实现参数化测试的方法示例
Dec 10 Python
Python使用GitPython操作Git版本库的方法
Feb 29 Python
基于python判断字符串括号是否闭合{}[]()
Sep 21 Python
Django扫码抽奖平台的配置过程详解
Jan 14 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中使用灵巧的体系结构
2006/10/09 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
php获取远程文件内容的函数
2015/11/02 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
php实现图片压缩处理
2020/09/09 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
2017/12/27 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
基于python实现计算且附带进度条代码实例
2020/03/31 Python
哪些是python中web开发框架
2020/06/17 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
告诉你怎样写创业计划书
2014/01/27 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
刑事申诉状范文
2015/05/20 职场文书
父亲节感言
2015/08/03 职场文书
python ConfigParser库的使用及遇到的坑
2022/02/12 Python