ghoster is a django admin theme which includes markdown features with side-by-side preview.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ghoster
.gitignore
DESCRIPTION
LICENSE
MANIFEST.in
README.rst
setup.cfg
setup.py

README.rst

Ghoster

ghoster is a admin theme which includes markdown features for Django users.

Snapshot

regular template:

http://i.imgur.com/WHd6Hlt.png

http://i.imgur.com/iHal9Jf.png

markdown template:

http://i.imgur.com/sXkcUNu.png

http://i.imgur.com/FJjOHaK.png

Requirements

  • python >= 2.7
  • django >= 1.9

Installation

  1. Download it from PyPi with pip install django-ghoster
  2. Add into the INSTALLED_APPS before django.contrib.admin:
INSTALLED_APPS = [
    ...
    'ghoster',
    'django.contrib.admin',
    ...
]
  1. don't forget to python manage.py collectstatic

Usage

In models.py, assume the model is defined as below:

from django.db import models

class MyModel(models.Model):
    # the fields which are rendered into markdown
    char_field = models.CharField(max_length=1024)
    text_field = models.TextField()

    # other stuff
    foreign_field = ...
    file_field = ...
    url_field = ...
    ...

Then in admin.py, inherit GhosterAdmin and override markdown_field and title_field attributes with the field names.

from django.contrib import admin
from ghoster.admin import GhosterAdmin
from .models import MyModel

class MyModelAdmin(GhosterAdmin):
    markdown_field = "text_field"
    title_field = "char_field"

    # other stuff
    list_display = ...
    list_filter = ...

admin.site.register(MyModel, MyModelAdmin)

Then ghoster will render the model-form into 3 parts:

  • title_field: this field will be placed in top-bar.
  • markdown_field: markdown editor with side-by-side preview.
  • meta_fieldsets: the rest of fields will be placed in right-sidebar.

Contributing

Every code, documentation and UX contribution is welcome. If you have any suggestions or bug reports please report them to the issue tracker