# Django Ghost
[![image](https://img.shields.io/pypi/v/django-ghost)](https://pypi.org/project/django-ghost/) [![image](https://img.shields.io/pypi/pyversions/django-ghost)](https://pypi.org/project/django-ghost/) [![image](https://img.shields.io/pypi/djversions/django-ghost)](https://pypi.org/project/django-ghost/) [![image](https://img.shields.io/pypi/wheel/django-ghost)](https://pypi.org/project/django-ghost/) [![image](https://img.shields.io/discord/773452324692688956)](https://discord.gg/Y848Hq9xKh) [![image](https://img.shields.io/github/workflow/status/bitsy-ai/django-ghost/Test)](https://github.com/bitsy-ai/django-ghost) [![image](https://img.shields.io/codecov/c/github/bitsy-ai/django-ghost)](https://github.com/bitsy-ai/django-ghost) [![image](https://img.shields.io/github/release-date-pre/bitsy-ai/django-ghost)](https://github.com/bitsy-ai/django-ghost)
Automatically sync a Django model with Ghost's member model. [Ghost is a CMS for content creators.](https://ghost.org/)
1. `pip install django-ghost`
2. Add to your INSTALLED_APPS settings:
INSTALLED_APPS = [
"django_ghost",
]
3. Run `python manage.py migrate` to create the NATS organizationals
models
Contributor's Guide
====================
1. Create a development environment (requires docker & docker-compose):
make docker-up
2. Run tests and generate a coverage report:
make pytest
3. Run `black` linter:
make lint
Settings
===========
### Basic Settings
`GHOST_SYNC_MODEL` (default: return value of `django.contrib.auth.get_user_model()` )
`GHOST_NEWSLETTER_IDS` (default: []) - newsletter ids to subscribe to
`GHOST_ADMIN_API_APP_ID`
`GHOST_ADMIN_API_APP_SECRET`
`GHOST_API_URL` (default: `"http://localhost` or `$GHOST_API_URL` environment var)
Raw data
{
"_id": null,
"home_page": "http://github.com/bitsy-ai/django-ghost",
"name": "django-ghost",
"maintainer": "",
"docs_url": null,
"requires_python": ">3.9",
"maintainer_email": "",
"keywords": "django ghost cms",
"author": "Leigh Johnson",
"author_email": "leigh@bitsy.ai",
"download_url": "https://files.pythonhosted.org/packages/4b/41/ffd139db87988bb039b988a4c0f800bde5fb5ac089f38b61c09441789878/django_ghost-0.3.0.tar.gz",
"platform": null,
"description": "# Django Ghost\n\n[![image](https://img.shields.io/pypi/v/django-ghost)](https://pypi.org/project/django-ghost/) [![image](https://img.shields.io/pypi/pyversions/django-ghost)](https://pypi.org/project/django-ghost/) [![image](https://img.shields.io/pypi/djversions/django-ghost)](https://pypi.org/project/django-ghost/) [![image](https://img.shields.io/pypi/wheel/django-ghost)](https://pypi.org/project/django-ghost/) [![image](https://img.shields.io/discord/773452324692688956)](https://discord.gg/Y848Hq9xKh) [![image](https://img.shields.io/github/workflow/status/bitsy-ai/django-ghost/Test)](https://github.com/bitsy-ai/django-ghost) [![image](https://img.shields.io/codecov/c/github/bitsy-ai/django-ghost)](https://github.com/bitsy-ai/django-ghost) [![image](https://img.shields.io/github/release-date-pre/bitsy-ai/django-ghost)](https://github.com/bitsy-ai/django-ghost)\n\nAutomatically sync a Django model with Ghost's member model. [Ghost is a CMS for content creators.](https://ghost.org/)\n\n1. `pip install django-ghost` \n\n2. Add to your INSTALLED_APPS settings:\n\n INSTALLED_APPS = [\n \"django_ghost\",\n ]\n\n3. Run `python manage.py migrate` to create the NATS organizationals\n models\n\nContributor's Guide\n====================\n\n1. Create a development environment (requires docker & docker-compose):\n\n make docker-up\n\n2. Run tests and generate a coverage report:\n\n make pytest\n\n3. Run `black` linter:\n\n make lint\n\n\nSettings\n===========\n\n### Basic Settings\n`GHOST_SYNC_MODEL` (default: return value of `django.contrib.auth.get_user_model()` )\n\n`GHOST_NEWSLETTER_IDS` (default: []) - newsletter ids to subscribe to\n\n`GHOST_ADMIN_API_APP_ID`\n\n`GHOST_ADMIN_API_APP_SECRET`\n\n`GHOST_API_URL` (default: `\"http://localhost` or `$GHOST_API_URL` environment var)\n\n\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Django Ghost is a Django app to sync a Django model with Ghost CMS newsletter subscribers",
"version": "0.3.0",
"split_keywords": [
"django",
"ghost",
"cms"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3fa87073110b4a94df8e15c0b4209050f234b95b5d2202ba34d7b36a5c75e4c6",
"md5": "7a7ba00ca7007410fc0710d8edfc6a09",
"sha256": "ad7914391c6b7e645f5703372399a324cbf03415913ad4cf8e0bd793de113117"
},
"downloads": -1,
"filename": "django_ghost-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7a7ba00ca7007410fc0710d8edfc6a09",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">3.9",
"size": 182557,
"upload_time": "2023-03-27T20:41:16",
"upload_time_iso_8601": "2023-03-27T20:41:16.794896Z",
"url": "https://files.pythonhosted.org/packages/3f/a8/7073110b4a94df8e15c0b4209050f234b95b5d2202ba34d7b36a5c75e4c6/django_ghost-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4b41ffd139db87988bb039b988a4c0f800bde5fb5ac089f38b61c09441789878",
"md5": "e4c18c3c5eb1f485385eb6b75e5b9665",
"sha256": "4230822b0a8fa2ac9d5b1fabed762b61681b3a567fce6f5592fd2d89d9971e1b"
},
"downloads": -1,
"filename": "django_ghost-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "e4c18c3c5eb1f485385eb6b75e5b9665",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">3.9",
"size": 11988,
"upload_time": "2023-03-27T20:41:18",
"upload_time_iso_8601": "2023-03-27T20:41:18.430815Z",
"url": "https://files.pythonhosted.org/packages/4b/41/ffd139db87988bb039b988a4c0f800bde5fb5ac089f38b61c09441789878/django_ghost-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-27 20:41:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "bitsy-ai",
"github_project": "django-ghost",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "asgiref",
"specs": [
[
"==",
"3.5.2"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2022.9.24"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"2.1.1"
]
]
},
{
"name": "django",
"specs": [
[
"==",
"3.2.16"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.4"
]
]
},
{
"name": "psycopg2",
"specs": [
[
"==",
"2.9.5"
]
]
},
{
"name": "pyjwt",
"specs": [
[
"==",
"2.6.0"
]
]
},
{
"name": "pytz",
"specs": [
[
"==",
"2022.6"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.28.1"
]
]
},
{
"name": "sqlparse",
"specs": [
[
"==",
"0.4.3"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"1.26.12"
]
]
}
],
"tox": true,
"lcname": "django-ghost"
}