`
m4774411wang
  • 浏览: 111840 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

django form 第一节

阅读更多
django form 是我接触过的框架中最好用的form,之前我也搞过php,也用过php的一些框架。但是感觉他们在处理form的时候都是力不从心。要不就是集成度太高了,不好扩展。要不就是功能不太强大不能应对web现在的复杂的环境,但是我接触了django以后就发现django的form是多少的爽阿。下面我介绍下form的一些基本的东西,可能我介绍的不好。大家不要扔鸡蛋白菜哈!

form表单可以自己定义表单也可以通过继承model来生成:
表单主要完成4个功能
1显示表当的样式(Widget)
2通过规则验证表单数据(Field)
3显示验证错误信息(Form)
4把提交的数据转换成PYTHON的数据类型并提交表单(Form Media)

我分为几节来介绍django form

第一节的话。我主要介绍怎么定义:

表单定义有2种形式。一个是自己定义表单类型。一个是继承model类型。。
1自己定义的表单类型
from django import forms

class ContactForm(forms.Form):
    subject = forms.CharField(max_length=100)
    message = forms.CharField()
    sender = forms.EmailField()
    cc_myself = forms.BooleanField(required=False)


2继承model类型:

model:

class Article(model.models):

price = models.CharField('价格', max_length=50)


from django.forms import ModelForm
class ArticleForm(ModelForm):
     这个可以重写继承的model的字段类型。。

   比如这里我重新定义下我的表单字段的类型,因为如果是继承model的话。他会根据model的类型来验证表单数据的

比如你model定义的这个字段是char:那么这个字段只允许接受字符类型的数据,这样就能使的form的扩展性更好

例如:我希望price这个字段只接受int类型的数据的话

我就重写:price = forms.CharField(label='价格')
     class Meta:
        model = Article(关联的model)
          fields = ('name', 'title')(定义只包含列出的字段的表单)
          exclude = ('birth_date',)(定义排除列出的字段的表单)

如果你理解了django from的定义的话。继续可以往前学习
1
0
分享到:
评论

相关推荐

    django1.6.5 form/formset/inline formset

    需要注意的是,Django的多重继承中,如果多个类定义了相同的属性,比如Meta类,那么将默认采用第一个定义的属性。同时,如果在继承ModelForm的同时,还继承了Form,那么ModelForm必须放在前面。 此外,ModelForm...

    Django前端模板及crispy form美化等

    本文档作为对上一篇关于Django用户登录注册等内容的延续,主要聚焦于如何利用第三方库Crispy Forms来实现前端页面的美化与优化。对于初学者而言,掌握Django前端模板的应用以及如何结合Bootstrap框架来提升用户体验...

    使用Django Form解决表单数据无法动态刷新的两种方法

    ### 使用Django Form解决表单数据...第一种方法相对简单,适用于大部分情况;而第二种方法则提供了更好的用户体验,特别是在需要实时更新数据的情况下。开发人员可以根据项目的具体需求选择合适的方法来优化用户体验。

    Django权威指南(Practical Django Projects第2版)

    本书《Django权威指南(Practical Django Projects第2版)》是为Python开发者准备的一本实战导向的书籍,它通过三个实用的项目来展开,具体包括内容管理系统(CMS)、博客应用程序(Blog)以及社交代码分享网站。...

    PyPI 官网下载 | django-form-builder-0.8.6.tar.gz

    `django-form-builder`是一个强大的Python库,专为Django框架设计,用于构建和管理表单。Django是用Python编写的一个高级Web框架,它鼓励快速开发并坚持"干(Do Not Repeat Yourself)"的原则。`django-form-builder`...

    第22周-第17章节-Python3.5-Django之Form组件验证1.avi

    第22周-第17章节-Python3.5-Django之Form组件验证1.avi

    Python Django自学教程 Python web开发基础教程 一步一步学习Django 共90页.pdf

    1 第一讲 入门1.1 开篇1.2 Django的入门体验1.3 结论2 第二讲 生成一个web form 做加法的简单例子2.1 引言2.2 实现2.3 补充说明3 第三讲 使用Template的简单例子4 第四讲 生成csv格式文件并下载5 第五讲 session和...

    django tutorial

    现在可以开始创建第一个 Django 项目了。在命令行中输入以下命令: ```bash django-admin startproject myproject cd myproject ``` 这将创建一个名为 `myproject` 的新项目,并进入该项目目录。 #### 二、使用...

    django框架学习笔记

    1. **Django安装与设置**:了解如何在本地环境配置Django,包括Python环境的搭建、Django的安装、虚拟环境的创建以及项目的初始化。 2. **Django项目结构**:熟悉Django项目的目录结构,如`manage.py`、`settings....

    django 实战之(eLeave Form)

    1. **使用第三方库**:项目中探讨了可能使用到的第三方库,如 Django-tracking-app,用于记录用户对模型的 CRUD 访问。 2. **实操技巧**:包括如何为外键字段设置显示字段、处理多语言环境的翻译、实现模糊搜索和...

    django1.11.1

    编写第一个 Django 应用 (Writing your first Django app, part 1-7)** 这一系列教程通过实例详细介绍了如何创建一个简单的 Django 应用,包括创建模型、编写视图、设计模板等过程。 **4. 高级教程:编写可重用...

    Python库 | django_form_error_reporting-0.9-py2.py3-none-any.whl

    标题"Python库 | django_form_error_reporting-0.9-py2.py3-none-any.whl"指的是一个Python库,名为`django_form_error_reporting`,版本为0.9。这个库是专门为Python 2和3设计的,因为文件名中包含了"py2.py3",...

    PyPI 官网下载 | django_jsform-3.7.0-py3-none-any.whl

    标题"PyPI 官网下载 | django_jsform-3.7.0-py3-none-any.whl"中提到的"PyPI"是Python Package Index的缩写,是Python社区官方的软件包仓库,用于发布和下载Python第三方库。"django_jsform"是一个针对Python Django...

    Django 原版翻译 Python

    接着,第三章到第七章会深入到Django的核心课程,详细讲解视图(View)与URL配置、模板(Template)、模型(Model)、Admin后台管理以及表单(Form)等关键概念。这些章节内容构成了Django Web应用的基础,是每一位...

    PyPI 官网下载 | django-file-form-3.0.1.tar.gz

    1. **文件上传**:`django-file-form`提供了处理文件上传的功能,允许用户在表单中上传文件,并安全地存储在服务器上。这包括验证文件类型、大小限制以及错误处理机制。 2. **多文件上传**:除了支持单个文件上传,...

    django课件基础篇

    安装完成后,创建一个新的Django项目是第一步,这通常使用`django-admin startproject project_name`命令完成。接着,创建一个应用,如`python manage.py startapp app_name`,应用是项目中具有特定功能的部分。 ...

    千锋教育Django笔记

    1. **项目创建**:如何使用`django-admin startproject`命令创建一个新的Django项目。 2. **应用创建**:理解Django中的“应用”概念,以及如何使用`python manage.py startapp`创建应用。 3. **模型(Model)**:...

    基于Django的签到系统

    1. **Django框架**:Django是一个高级的Python Web框架,它遵循模型-视图-控制器(MVC)设计模式。它提供了一系列内置的功能,如ORM(对象关系映射)、模板引擎、表单处理等,使得快速开发Web应用变得简单。在这个...

    千峰Django.7z

    1. **Python Django框架**: Django是一个开源的Web应用框架,它由Python编写,用于快速开发安全且可维护的网站。它的核心特点包括内置ORM(对象关系映射)、模板系统、自动管理的Admin界面以及强大的表单处理功能。 ...

    django1.8教程

    接着,高级教程部分将引导读者如何编写可重用的应用程序,并学习为Django编写第一个补丁。 模型是Django框架的核心,它代表了数据库中存储的数据结构。模型层涉及到模型语法、字段类型、元选项、模型类的定义,以及...

Global site tag (gtag.js) - Google Analytics