Skip to main content

Neapolitan: quick CRUD views for Django.

Project description

PyPI version

I have a Django model:

from django.db import models

class Bookmark(models.Model):
    url = models.URLField(unique=True)
    title = models.CharField(max_length=255)
    note = models.TextField(blank=True)
    favourite = models.BooleanField(default=False)

I want easy CRUD views for it, without it taking all day:

# urls.py
from neapolitan.views import CRUDView
from .models import Bookmark

class BookmarkView(CRUDView):
    model = Bookmark
    fields = ["url", "title", "note"]
    filterset_fields = [
        "favourite",
    ]

urlpatterns = [
    *BookmarkView.get_urls(),
]

Neapolitan’s CRUDView provides the standard list, detail, create, edit, and delete views for a model, as well as the hooks you need to be able to customise any part of that.

Neapolitan provides base templates and re-usable template tags to make getting your model on the page as easy as possible.

Where you take your app after that is up to you. But Neapolitan will get you started.

Let’s go! 🚀

Next stop the docs 🚂

Versioning and Status

Neapolitan uses a two-part CalVer versioning scheme, such as 23.7. The first number is the year. The second is the release number within that year.

On an on-going basis, Neapolitan aims to support all current Django versions and the matching current Python versions.

Please see:

Support for Python and Django versions will be dropped when they reach end-of-life. Support for Python versions will be dropped when they reach end-of-life, even when still supported by a current version of Django.

This is alpha software. I’m still working out the details of the API, and I’ve only begun the docs.

But: You could just read neapolitan.views.CRUDView and see what it does. Up to you. 😜

Installation

Install with pip:

pip install neapolitan

Add neapolitan to your INSTALLED_APPS:

INSTALLED_APPS = [
    ...
    "neapolitan",
]

Templates expect a base.html template to exist and for that template to define a content block. (Refs <https://github.com/carltongibson/neapolitan/issues/6>.)

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

neapolitan-25.1.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

neapolitan-25.1-py2.py3-none-any.whl (14.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file neapolitan-25.1.tar.gz.

File metadata

  • Download URL: neapolitan-25.1.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for neapolitan-25.1.tar.gz
Algorithm Hash digest
SHA256 e5f1692c6d5807143f48635e351f62f0921d491efa6de8906e9a5ca22104a877
MD5 a29d58101f151e1dafca787f2d3d7b6e
BLAKE2b-256 0806f967ed9e8f1e46640bcb4cc847eca0019b70fd233291264f6d493b38fdab

See more details on using hashes here.

File details

Details for the file neapolitan-25.1-py2.py3-none-any.whl.

File metadata

  • Download URL: neapolitan-25.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for neapolitan-25.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fecc83ba80e2d0654cb649050aea2f1ff4965737665c41b6aa8976e9ecdb205d
MD5 2d458861867f2bb82bdbdda5b1ac96ac
BLAKE2b-256 8e40dff95e2f497108406ba964ced175b2654f6c44ae85ab908742ebf9a39753

See more details on using hashes here.

Supported by

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