Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anexia/drf-generic-contact
https://github.com/anexia/drf-generic-contact
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/anexia/drf-generic-contact
- Owner: anexia
- License: mit
- Created: 2023-10-20T14:41:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-24T15:12:50.000Z (about 1 year ago)
- Last Synced: 2024-04-25T15:20:51.177Z (9 months ago)
- Language: Python
- Size: 11.7 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
## DRF Generic Contact
[![PyPI version](https://img.shields.io/pypi/v/drf-generic-contact.svg)](https://pypi.org/project/drf-generic-contact/)
[![Run linter and tests](https://github.com/anexia/drf-generic-contact/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/anexia/drf-generic-contact/actions/workflows/test.yml)
[![Codecov](https://img.shields.io/codecov/c/gh/anexia/drf-generic-contact)](https://codecov.io/gh/anexia/drf-generic-contact)An extension of the [django-generic-contact](https://github.com/anexia/django-generic-contact) that provides a POST endpoint to create new instances for
the `Contact` model via HTTP.### Installation
```shell
pip install drf-generic-contact
```Make sure the main module [django-generic-contact](https://github.com/anexia/django-generic-contact) is part of the INSTALLED_APPS.
### Usage
Add the `ContactViewSet` to your project's `urls.py`, e.g.:
```
from drf_generic_contact.rest.views import ContactViewSetrouter = get_api_router()
router.register(r"contact", ContactViewSet)urlpatterns = [
...
path("", include(router.urls)),
]
```See `tests/testapp` for exemplary usage.
## Unit Tests
See folder [tests/](tests/). The provided tests cover these criteria:
* success:
* add new contact via HTTP POST request
* failure:
* HTTP GET request to read contact list
* HTTP GET request to read single contact
* HTTP PUT request to update contact
* HTTP PATCH request to update contactFollow below instructions to run the tests.
You may exchange the installed Django and DRF versions according to your requirements.
:warning: Depending on your local environment settings you might need to explicitly call `python3` instead of `python`.
```bash
# install dependencies
python -m pip install --upgrade pip
pip install -r requirements.txt# setup environment
pip install -e .# run tests
cd tests && python manage.py test
```### Contributing
Contributions are welcomed! Read the [Contributing Guide](CONTRIBUTING.md) for more information.
### Licensing
See [LICENSE](LICENSE) for more information.