Skip to main content

Adds a generic contact app for use with Giant projects

Project description

Giant Contact

A re-usable package which can be used in any project that requires a generic Contact app.

This will include the basic formatting and functionality such as model creation via the admin and email sending.

Installation

To install with the package manager, run:

$ poetry add giant-contact

You should then add "contact" to the INSTALLED_APPS in your settings file and to the Makefile.

In base.py there should also be a DEFAULT_FROM_EMAIL and a DEFAULT_TO_EMAIL. This is used by the email sending method.

Configuration

This application exposes the following settings:

  • DEFAULT_FROM_EMAIL is the From address in the email.

  • DEFAULT_TO_EMAIL is the default recipient. This is usually the client's address.

  • CONTACT_ABSOLUTE_URL allows the user to set a different URL as used in the get_absolute_url method

  • CONTACT_SUCCESS_URL allows the user to set a different success URL

  • CONTACT_EMAIL_TEMPLATE_HTML is the path to the email's HTML representation.

  • CONTACT_EMAIL_TEMPLATE_TXT is the path to the email's text representation.

  • CONTACT_ADMIN_LIST_DISPLAY is the field list for the admin index. This must be a list

  • CONTACT_ADMIN_FIELDSETS allows the user to define the admin fieldset. This must be a list of two-tuples

  • CONTACT_ADMIN_READONLY_FIELDS allows the user to configure readonly fields in the admin. This must be a list

  • CONTACT_FORM_FIELDS allows the user to customise what fields are displayed on the contact form. This must be a list

  • CONTACT_FORM_FIELD_PLACEHOLDERS allows the user to customise the field placeholder text. This must be a dict containing the fieldnames

  • CONTACT_FORM_REQUIRED_FIELDS allows the user to customise what fields are required on the contact form. This must be a list

  • CONTACT_FORM_LABELS allows the user to customise what the field labels are on the contact form. This must be a dict of field names and their corresponding label

  • CONTACT_FORM_WIDGETS allows the user to customise what the field widgets are on the contact form. This must be a dict of field names and their corresponding widget

URLs

Add the following to core.urls for general functionality:

path("contact/", include("contact.urls"), name="contact"),

If you want to customize the urls to include a different path and/or templates, first you must import contact.views in core.urls and then you could do add the following:

path("contact-us/", contact.views.EnquiryFormView.as_view({"template_name": "custom_template_name.html}), name=contact-us)
path("contact-us/success/", contact.views..SuccessView.as_view(), name=contact-success)

Context Processor

If you wish to use the Contact form with the context processor you will need to add contact.context_processors.enquiry_form into the TEMPLATES context processors list. This will allow you to access the form in templates.

Preparing for release

In order to prep the package for a new release on TestPyPi and PyPi there is one key thing that you need to do. You need to update the version number in the pyproject.toml. This is so that the package can be published without running into version number conflicts. The version numbering must also follow the Semantic Version rules which can be found here https://semver.org/.

Publishing

Publishing a package with poetry is incredibly easy. Once you have checked that the version number has been updated (not the same as a previous version) then you only need to run two commands.

$ `poetry build` 

will package the project up for you into a way that can be published.

$ `poetry publish`

will publish the package to PyPi. You will need to enter the username and password for the account which can be found in the company password manager

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

giant-contact-0.6.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

giant_contact-0.6-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file giant-contact-0.6.tar.gz.

File metadata

  • Download URL: giant-contact-0.6.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/2.7.18 Linux/5.4.0-72-generic

File hashes

Hashes for giant-contact-0.6.tar.gz
Algorithm Hash digest
SHA256 7467f615e42e92474610712b701b7f5773a9282eb0b2eb3773a4d8be87106b3b
MD5 1d71154b5aee8c73b60fef91a11f94e8
BLAKE2b-256 298bf31237a6bbc9f6e7fbecb89812565df3ac0335595929d0cec9043d919755

See more details on using hashes here.

File details

Details for the file giant_contact-0.6-py3-none-any.whl.

File metadata

  • Download URL: giant_contact-0.6-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/2.7.18 Linux/5.4.0-72-generic

File hashes

Hashes for giant_contact-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8c91a0f29d353dc44721cbc79dcc93fb48c547b8ef522e3b773f8fbfc1a56a95
MD5 1da31bd36403037fe3f9425295289a22
BLAKE2b-256 7f37499f1ff82bf24ee2d24128145f85c7bbf465c6a588d266cd9223b1f266de

See more details on using hashes here.

Supported by

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