Ghoster
ghoster is a admin theme which includes markdown features for Django users.
Snapshot
regular template:
markdown template:
Requirements
- python >= 2.7
- django >= 1.9
Installation
- Download it from PyPi with
pip install django-ghoster
- Add into the
INSTALLED_APPS
beforedjango.contrib.admin
:
INSTALLED_APPS = [
...
'ghoster',
'django.contrib.admin',
...
]
- 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