Django Formfield公司

django-formfield的Python项目详细描述


BUILD

Version:0.4
Docs:https://django-formfield.readthedocs.org/en/latest/
Download:http://pypi.python.org/pypi/django-formfield/
Source:https://github.com/jsoa/django-formfield

更改日志

  • 0.4*
    • django 1.9/1.10/1.11兼容性
    • 清除错误消息
    • 表单中的表单修复
  • 0.3
    • Django 1.6/1.7/1.8兼容性
    • python 3.4兼容性
    • 表单参数现在可以是动态的
  • 0.2
    • 修复django 1.5安装问题
  • 0.1.3
    • 修正了当表单的初始值被规避到False
    • PEP8相关修复程序

开始

django form field是一个表单字段,它接受django表单作为其第一个参数,并验证 以及渲染的每个表单字段。是的,一个表单中的表单,在一个梦中的表单?在那里 有两种类型的字段可用,FormFieldModelFormField。为了 ModelFormField数据存储在json中。对于FormField数据很简单 作为python字典返回(form.cleaned_data)

安装

使用pipeasy_install很容易安装。

pip install django-formfield

easy_install django-formfield

添加到已安装的应用程序

INSTALLED_APPS = (
    ...
    'formfield',
    ...
)

示例

from django.db import models
from django import forms

from formfield import ModelFormField

class PersonMetaForm(forms.Form):
    age = forms.IntegerField()
    sex = forms.ChoiceField(choices=((1, 'male'), (2, 'female')), required=False)


class Person(models.Model):
    name = CharField(max_length=200)

    meta_info = ModelFormField(form=PersonMetaForm)

这将导致类似的结果(使用管理员)

https://github.com/jsoa/django-formfield/raw/master/docs/_images/ss001.png

自动将ModelFormField设置为null=Trueblank=True,这是 因为验证是在内部表单上完成的。结果你会看到 如果在更改表单中单击“保存”,则执行以下操作:

https://github.com/jsoa/django-formfield/raw/master/docs/_images/ss002.png

如果我们提供有效数据的更改,那么在检索时应该会得到一个python字典 数据:

>>> person = Person.objects.get(pk=1)
>>> person.meta_info
{u'age': 12, u'sex': u'1'}

表单是唯一强制有效输入的东西,在幕后 数据正被序列化为json。因此在python级别,我们可以提供meta_信息 任何有效的json::

>>> from sample_app.models import Person
>>> data = {'some': 'thing', 'is': 'wrong', 'here': 'help!'}
>>> p = Person.objects.create(name="Joan", meta_info=data)
>>> p.meta_info
{'is': 'wrong', 'some': 'thing', 'here': 'help!'}

注意

如果表单域通过更改表单(如管理员)可用,则 意外值将被窗体返回的内容覆盖。例如, ^上面的{}只需要agesex,所以上面的值都不是 ('is'、'some'和'here')匹配,并将在表单提交时被重写。

但是,我们可以将字段隐藏或只读,并使用它来提供任何 有效的json,但它并不是这个应用的真正内涵。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的json IoT模块GET请求   在Java8中,如何使用lambda表达式中的条件?   Java 7中的io,如何通过一个实际示例演示文件之间的差异。存在和文件。不存在?   在Android Studio中使用Java从url获取JSON?   返回k个最小元素的java数组   java如何让我的安卓应用通过facebook登录并获得foursquare等好友列表   java如何在布局中以编程方式生成文本视图   在java中更改系统日期和时间的datetime代码段   java Hibernate和SQLite3,一对多关系映射   java Observable转换成kotlin问题   java在单独的线程中将VBO发送到GPU   属性文件中值的spring Java验证程序注释   java Spring启动:找不到javassist   java SimpleDataFormat时间解析   无法在linux上为Java程序正确设置PATH变量   将文件上载到FTP服务器时发生java异常   基于java TestNG的Selenium测试不能并行运行   java DAO类实例与DAO EJB   tomcat6部署*。使用Java Web Start(JNLP)的war应用程序