Django 表单常用字段参数
创始人
2024-12-18 06:04:53
0

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 forms  class 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 ContactForm  def 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

            Contact Form       

Contact Us

{% csrf_token %} {{ form.as_p }} { form.email.errors }}--> { form.email.label_tag }}--> { form.email }}-->

Test/templates/14/thankyou.html 

            Thank You       

Thank You

Thank you for your message!

4,添加路由地址

Test/app14/urls.py

from django.urls import path from . import views from django.conf import settings from django.conf.urls.static import static  urlpatterns = [      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/

相关内容

热门资讯

专业讨论!吉安麻将73棋牌有挂... 专业讨论!吉安麻将73棋牌有挂嘛(原来真的有挂)详细透视教程;1、完成吉安麻将73棋牌有挂嘛的残局,...
技术分享!边锋杭麻圈有挂吗(透... 技术分享!边锋杭麻圈有挂吗(透视)透视脚本辅助脚本(2022已更新)(哔哩哔哩);技术分享!边锋杭麻...
两分钟插件!小鸟历险记可以开挂... 两分钟插件!小鸟历险记可以开挂吗,老友十三水系统给牌(果然真的有挂);一、小鸟历险记可以开挂吗AI软...
五分钟揭秘!豆豆斗牌系统,中至... 五分钟揭秘!豆豆斗牌系统,中至鹰潭麻将切实有挂辅助挂,详细教程(有挂方法)五分钟揭秘!豆豆斗牌系统,...
一分钟揭秘!云南天天麻将有挂吗... 一分钟揭秘!云南天天麻将有挂吗(真是有挂)详细透明挂教程1、玩家可以在云南天天麻将有挂吗软件透明挂俱...
一分钟揭秘!!聚友互娱手机ap... 一分钟揭秘!!聚友互娱手机app辅助器(辅助挂)外挂透视辅助软件(2024已更新)(哔哩哔哩)一、聚...
7分钟方法!潮汕馆辅助器,果果... 7分钟方法!潮汕馆辅助器,果果互娱辅助(一贯有挂辅助挂);1、果果互娱辅助ai机器人多个强度级别选择...
四分钟发现!兄弟十三水专用平台... 四分钟发现!兄弟十三水专用平台辅助器,榕城510k确实真的有挂,黑科技教程(有挂神器)一、兄弟十三水...
一分钟了解!中至余干小程序辅助... 一分钟了解!中至余干小程序辅助器(真是有挂)详细辅助教程1、中至余干小程序辅助器系统规律教程、中至余...
一起来讨论!陕麻圈怎么开挂(透... 一起来讨论!陕麻圈怎么开挂(透明挂)外挂透明挂辅助神器(2020已更新)(哔哩哔哩)1、操作简单,无...