Django 表单常用字段参数

news/2024/10/22 16:38:24/

Django Form表单,常用表单字段-CSDN博客

        在Django中,表单(Form)是用来处理HTML表单数据的重要工具。Django的表单API允许你定义表单字段及其验证规则。每个表单字段都可以通过多种参数来定制其行为。以下是一些常用的表单字段参数:

  1. label:字段的标签,用于在HTML表单中显示。
  2. help_text:字段的帮助文本,通常显示在标签旁边或字段下方。
  3. required:是否为必填字段。默认为True
  4. initial:字段的初始值。
  5. widget:指定用于渲染字段的HTML小部件(例如TextInputPasswordInputTextarea等)。
  6. validators:一个验证器列表,用于在字段验证时执行额外的检查。
  7. error_messages:自定义错误消息的字典,可以覆盖默认的错误消息。
  8. disabled:是否禁用字段。默认为False
  9. localize:是否对字段值进行本地化处理(例如日期、时间、数字格式)。
  10. label_suffix:字段标签的尾缀,默认为冒号(::)。

1,添加表单

Test/app14/forms.py

from django import formsclass ContactForm(forms.Form):subject = forms.CharField(label='主题',       # 字段的标签,用于在HTML表单中显示。label_suffix='+',   # 字段标签的尾缀,默认为冒号(::)。initial='form表单的常用参数',   # 字段的初始值。help_text='这个是标题字段',  # 字段的帮助文本,通常显示在标签旁边或字段下方。required=False,     # 是否为必填字段。默认为True。disabled=True,      # 是否禁用字段。默认为False。max_length=100)su1 = forms.CharField(label='标题1',          # 字段的标签,用于在HTML表单中显示。max_length=100)su2 = forms.CharField(label='标题2',          # 字段的标签,用于在HTML表单中显示。widget=forms.widgets.Textarea(attrs={"class":"password"}),max_length=100)email = forms.EmailField(                 # 自定义错误消息的字典,可以覆盖默认的错误消息。label='Email')message = forms.CharField(label='Message', widget=forms.Textarea)

2,添加视图函数

Test/app14/views.py

from django.shortcuts import render
from .forms import ContactFormdef contact_view(request):if request.method == 'POST':form = ContactForm(request.POST)if form.is_valid():subject = form.cleaned_data['subject']email = form.cleaned_data['email']message = form.cleaned_data['message']# 这里可以添加代码来处理表单数据,比如发送邮件return render(request, '14/thankyou.html')else:form = ContactForm()return render(request, '14/contact.html', {'form': form}

3,添加HTML代码

Test/templates/14/contact.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Contact Form</title>
</head>
<body><h1>Contact Us</h1><form method="post">{% csrf_token %}{{ form.as_p }}<!--        {{ form.email.errors }}-->
<!--        {{ form.email.label_tag }}-->
<!--        {{ form.email }}--><button type="submit">Submit</button></form>
</body>
</html>

Test/templates/14/thankyou.html 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Thank You</title>
</head>
<body><h1>Thank You</h1><p>Thank you for your message!</p>
</body>
</html>

4,添加路由地址

Test/app14/urls.py

from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import staticurlpatterns = [path('contact_view/', views.contact_view, name='contact_view'),] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

5,访问页面

http://127.0.0.1:8000/app14/contact_view/


http://www.ppmy.cn/news/1501262.html

相关文章

无人机10公里WiFi图传摄像模组,飞睿智能超清远距离无线监控,智能安防新潮流

在这个科技日新月异的时代&#xff0c;我们对影像的捕捉和传播有了更高的要求。从传统的有线传输到无线WiFi图传&#xff0c;每一次技术的飞跃都为我们带来了全新的视觉体验。今天&#xff0c;我们要探讨的&#xff0c;正是一款具有划时代意义的科技产品——飞睿智能10公里WiFi…

Python的正则表达式

学完Python的基础语法还远远不够&#xff0c;还需要学习一些进阶用法&#xff0c;Python的正则表达式就是其一&#xff0c;什么是正则表达式呢&#xff0c;就我理解&#xff0c;就是用来检索一些需要的信息&#xff0c;比如说从一段文本中找出其中全部的数字或者字母&#xff0…

14. Hibernate 一对多双向关联映射

1. 前言 本节课程和大家一起聊聊一对多关联映射。通过本节课程&#xff0c;你将了解到&#xff1a; 如何实现一对多关联映射&#xff1b; 如何实现双向一对多关联映射&#xff1b; 关联映射中的级联操作。 2. 一对多关联映射 关系型数据库中表与表中的数据存在一对多&…

【FFmpeg】avcodec_receive_packet函数

目录 1.avcodec_receive_packet FFmpeg相关记录&#xff1a; 示例工程&#xff1a; 【FFmpeg】调用ffmpeg库实现264软编 【FFmpeg】调用ffmpeg库实现264软解 【FFmpeg】调用ffmpeg库进行RTMP推流和拉流 【FFmpeg】调用ffmpeg库进行SDL2解码后渲染 流程分析&#xff1a; 【FFm…

帆软报表学习官网 中文

帆软报表学习官网&#xff1a;快速入门指南- FineReport帮助文档 - 全面的报表使用教程和学习资料

前后端分离的开发模式+YAPI接口文档

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;JavaWeb关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 早期的开发模式&#xff1a;前后端混合开发 在这种模式下开发下&#xff0c;…

C++笔记---缺省参数和函数重载

1. 缺省参数 1.1 定义 缺省参数是声明或定义函数时为函数的参数指定一个缺省值&#xff08;默认值&#xff09;。在调用该函数时&#xff0c;如果没有指定实参 则采用该形参的缺省值&#xff0c;否则使用指定的实参&#xff0c;缺省参数分为全缺省和半缺省参数。 void Func(…

C语言100基础拔高题(3)

1.利用递归函数调用方式&#xff0c;将所输入的5个字符&#xff0c;以相反顺序打印出来。 解题思路&#xff1a;通过反复调用一个打印最后一个元素的函数&#xff0c;来实现此功能。源代码如下: #include<stdio.h> void oposize(char str[], int len); int main() {//利…