Skip to main content

A reusable Django app for a phone directory system.

Project description

django_phonedir

A reusable Django app for a phone directory system.

Tested and known to work with Django 5.2 and newer. Tested with Python 3.12 and newer.

Requirements

  • Python >= 3.12
  • Bulma CSS
  • Django >= 5.2
  • django-phonenumber-field >= 8.4.0
  • phonenumberslite >= 9.0.26

Installation

Install via pip.

pip install django-phonedir

Add to Django settings INSTALLED_APPS like so...

INSTALLED_APPS = [
    ...
    "django-phonedir",
    ...
]

URL Paths

By default, there are certain URL paths that are provided to help get you started. The built-in URL paths and templates can be utilized by adding django_phonedir.urls to your main list of urlpatterns in a urls.py file like so...

from django.urls import include, path

urlspatterns = [
    ...
    path("", include("django_phonedir.urls")),
    ...
]

You don't have to use these URL paths and associated templates. Below is a listing of the paths with the associated views and template names.

  • Path: departments
    • View: DepartmentListView
    • Template Name: department_list
    • Template File: department_listing.html
  • Path: department/<slug:short_name>/
    • View: DepartmentDetailView
    • Template Name: department_detail
    • Template File: department_detail.html
  • Path: search
    • View: SearchResultsView
    • Template Name: search_results
    • Template File: search_contact_results.html

Models

To use a model, import from django_phonedir.models like so...

from django_phonedir.models import Department, FaxNumber, Contact

Below is a listing of each model, their attributes, and description for each attribute..

Department

  • name : Name of the department.
  • short_name : Short name that is used in the URL.
  • supervisor : Foreign key that points to a user (typically the supervisor).

FaxNumber

  • department : Foreign key that points to a Department model.
  • description : Description of the fax number.
  • phone : PhoneNumberField
  • location: Location of fax number.

Contact

  • department : Foreign key that points to a Department model.
  • first_name : First name.
  • last_name : Last name.
  • title : Job title.
  • extension : Phone extension.
  • location : location the user.
  • phone : PhoneNumberField (can be blank.)

Development

This project is under active development by myself.

I will develop better documentation at a later date.

Setup

Use pipenv for managing the package requirements for development.

pipenv install --dev

Testing

Tests can be run using the command: pipenv run test

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_phonedir-0.2.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

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

django_phonedir-0.2-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file django_phonedir-0.2.tar.gz.

File metadata

  • Download URL: django_phonedir-0.2.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for django_phonedir-0.2.tar.gz
Algorithm Hash digest
SHA256 155cabedd80bba615199b4d6be88202e316dcb88ff80d85b50a93664e3414f46
MD5 acc576dbfbc305c150c9e2cdc63b90ed
BLAKE2b-256 9705c10eb3abdab75b334f98688d59b535772b5e6b8e5ec1590d6b880acd8df8

See more details on using hashes here.

File details

Details for the file django_phonedir-0.2-py3-none-any.whl.

File metadata

  • Download URL: django_phonedir-0.2-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for django_phonedir-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e3ab1db14d0113aa6b0a22fb5c8340c9ccd93e77bef21eff3a2d37a5efa52064
MD5 b1498db641e8b445f602ada6fa8f37d6
BLAKE2b-256 cf5efdb8cd89f80086b37333786000070dca3b0728e8dd9d0f75497707d088f6

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