Skip to main content

Utilities for Django application

Project description

Django LC Utils

Django app for various django utilities

pip install django-lc-utils

Prerequisites

This package relies on django-model-utils, Django.

Running Tests

python manage.py test

Usuage

In order to use the system you must add django_lc_utils to your installed apps in your settings.py file.

INSTALLED_APPS = [
    'django_lc_utils'
]

Utilities

  1. Django Soft Delete Mixin

This is a custom mixin to enable soft delete feature on the Django models.

from django_lc_utils.mixins import SoftDeleteMixin
from model_utils.models import TimeStampedModel

class TestModel(TimeStampedModel, SoftDeleteMixin):
    class Meta:
        db_table = "test_model"
        verbose_name = "Django Test Model"
        verbose_name_plural = "Djando Test Models"

    test_field = models.TextField("Test field")

Basic Docker usage

Build

You'll need to build the dockerfile into an image, to do so, navigate to the root of the repository, and run the following

docker build -t <"NAME_YOU_WANT_FOR_THE_IMAGE"> .

where: . signifies the current directory -t signifies the tag flag, to tag the image and give it a name. for example:

docker build -t lc_utils_test .

You can view all the docker images you have in your system, by running docker images on the terminal.

You can remove an image that you pulled or build by running docker rmi <IMAGE_NAME/IMAGE_ID> on the terminal.

NOTE: To remove a container images from your local system, you need to stop and remove any container with that image running on your system.

Run

To use a container you can create and start a container, you can do both at the same time by using the docker run command.

docker run -it --name=<NAME_FOR_THE_CONTAINER> <IMAGE_NAME> <OPTIONAL_COMMAND>

where -it signifies interactive terminal, use this to start and attach to the terminal of the container. You can additionally pass an optional command to start when the container is first build, by default it runs the python shell in the case of python-slimbuster images, but using cmd we have made it to run bash by default. an example for the run command would be:

docker run -it --name=test_container lc_utils_test /bin/bash

This would create a new container and connect to it's bash terminal.

To start a container you can run docker start <CONTAINER_NAME/CONTAINER_ID> on the terminal.

To stop a container you can run docker stop <CONTAINER_NAME/CONTAINER_ID> on the terminal.

To delete a container (if it's in the stopped state), you can run the docker rm <CONTAINER_NAME/CONTAINER_ID> on the terminal.

To list all the running containers you can run docker ps and to list all the containers regardless of the state you can run docker ps -a on the terminal.

To connect to a running container you can run docker attach <CONTAINER_NAME/CONTAINER_ID> on the teminal. Note that this does not start a new process on the container, to do that use the docker exec command instead.

If you want to avoid rebuilding and re-running containers after some change in the codebase, and want those changes to persist, you can mount volumes to the container while running it.

Unit Tests

Completed ->

formatters.py dict_update.py converters.py (xlxs_to_json function left, but will need a sample xlxs file for it)

In-Progress ->

dates.py - next_business_day -> done - tz_aware -> pending

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

django_lc_utils-1.1.3.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

django_lc_utils-1.1.3-py3-none-any.whl (53.7 kB view details)

Uploaded Python 3

File details

Details for the file django_lc_utils-1.1.3.tar.gz.

File metadata

  • Download URL: django_lc_utils-1.1.3.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/23.4.0

File hashes

Hashes for django_lc_utils-1.1.3.tar.gz
Algorithm Hash digest
SHA256 6e25b08ae744a4dcdff5f5d9ef735014a34a36b3029f37a27448e4e6f97e3f59
MD5 b8988ca05b01eb4b76b4f1ed7f637d4f
BLAKE2b-256 0f8b169e0001be148e7ebe012061db9b593e611cde79f1c172616256c0485c40

See more details on using hashes here.

File details

Details for the file django_lc_utils-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: django_lc_utils-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 53.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/23.4.0

File hashes

Hashes for django_lc_utils-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ae96413e61165143e523b529362999032f45f19b5d8174b0586d02d8fb1b77da
MD5 2a66572ec5c85780a208359cee8096b9
BLAKE2b-256 dbbf74effac72e8948e0a29efb3a1f69df54227943f69b5a95cb0a6df499990d

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