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.9.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.9-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for layrz-forms-1.0.9.tar.gz
Algorithm Hash digest
SHA256 9334f5cc84d7556ddb21b0ba0b29c0f4a0f312df5154402f1f366a942d4c1d6a
MD5 66c5a502febae5a4d6c7e1eca5a68565
BLAKE2b-256 280e596e64f2072eb2d9efbaedc0aa512f11208e966fda00eb9f3135730f4e3f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: layrz_forms-1.0.9-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.6

File hashes

Hashes for layrz_forms-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ea4234c3be4b1b76b22bc726189487e57c975a5cd8ab91d5d414b2c50cd40ba2
MD5 e0550b0db4f93e4fac445c7f168149f2
BLAKE2b-256 7329f69584916124d60b13f6703d75de0ac1364fc0327ec99ecb8ff35714ae57

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