Skip to main content

Layrz forms and tools for Python

Project description

Form tools - Layrz

Managed by Golden M, Inc.

Motivation

This project is a collection of tools that we use to make django developers life easier. I hope you find them useful too.

Usage

The idea is simple, replace the django forms to a more easier way to use them. Also provide the ability to return the errors key to support i18n.

import layrz.forms as forms


class ExampleForm(forms.Form):
  """ Example form """
  id_test = forms.IdField(required=True)
  email_text = forms.EmailField(required=True)
  json_list_test = forms.JsonField(required=True, datatype=list)
  json_dict_test = forms.JsonField(required=True, datatype=dict)
  int_test = forms.NumberField(required=True, datatype=int, min_value=0, max_value=5)
  float_test = forms.NumberField(required=True, datatype=float, min_value=0, max_value=5)
  bool_test = forms.BooleanField(required=True)
  plain_text_test = forms.CharField(required=True, empty=False)
  empty_text_test = forms.CharField(required=True, empty=True)
  range_text_test = forms.CharField(required=True, empty=False, min_length=5, max_length=10)

  def clean_func1(self):
    """ Print clean """
    self.add_errors(key='clean1', code='error1')
    self.add_errors(key='clean1', code='error2')

  def clean_func2(self):
    self.add_errors(key='clean2', code='error1')


if __name__ == '__main__':
  obj = {
    'id_test': 1,
    'email_text': 'example@goldenmcorp.com',
    'json_dict_test': {
      'hola': 'mundo'
    },
    'json_list_test': ['hola mundo'],
    'int_test': 5,
    'float_test': 4.5,
    'bool_test': True,
    'plain_text_test': 'hola mundo',
    'empty_text_test': 'hola',
    'range_text_test': 'hola'
  }

  form = ExampleForm(obj)

  print('form.is_valid():', form.is_valid())
  #> form.is_valid(): None
  print('form.errors():', form.errors())
  #> form.errors(): {'rangeTextTest': [{'code': 'minLength', 'expected': 5, 'received': 4}], 'clean1': [{'code': 'error1'}, {'code': 'error2'}], 'clean2': [{'code': 'error1'}]}

Work with us

Golden M is a software/hardware development company what is working on a new, innovative and disruptive technologies.

For more information, contact us at sales@goldenmcorp.com

License

This project is under MIT License, for more information, check out the LICENCE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

layrz-forms-1.0.10.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

layrz_forms-1.0.10-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file layrz-forms-1.0.10.tar.gz.

File metadata

  • Download URL: layrz-forms-1.0.10.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for layrz-forms-1.0.10.tar.gz
Algorithm Hash digest
SHA256 d3e281b423159fae8e986f9cf2367144d3e9447f8097a688c0082bf25a39886f
MD5 1f5884269907d9595c3bcd210130ebc9
BLAKE2b-256 d92ab50fd6d4b622e112df8956913ab0b4c7b211984f9e56a265df5347c92f10

See more details on using hashes here.

File details

Details for the file layrz_forms-1.0.10-py3-none-any.whl.

File metadata

  • Download URL: layrz_forms-1.0.10-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for layrz_forms-1.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 322957890772eb09b194b4f863fe425efb31db26cf2ee3adbce4f34cedb734b4
MD5 16479560c705213dc8976878a502f284
BLAKE2b-256 212773e6a8863ed5670c4a01bf178e5b54f300f35c0be8c11c38ba1318d74d0f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page