Skip to main content

Intuitive text editing for the Django Admin.

Project description

:warning: This project is in early development and has bugs, contribution is welcome.

# django-text

Intuitive text editing for the Django Admin.

## Installation

Install the package with pip.

```shell
$ pip install django-text
```

Add `'text'` to your installed packages.

```python
# settings.py

INSTALLED_APPS = (
# ...
'text',
)
```

Add `text.middleware.AutoPopulateMiddleware` to your middleware.

```python
# settings.py

MIDDLEWARE = (
# ...
'text.middleware.AutoPopulateMiddleware',
)
```

Run `migrate`.

```shell
$ python manage.py migrate
```

## Usage

### Template tags

Add `editable` tags to your templates. Beware this tag will show the name
of the text node if there is no corresponding text nodes in the database.

```html
<h1>{% editable header %}</h1>

<div class="content">
{% editable text_body %}
</div>
```

You can also use the `blockeditable` tag that let's you specify a default text
that will show up if there is no database entry.

```html
<div class="content">
<h1>
{% blockeditable header %}
Read My Awesome Text
{% endblockeditable %}
</h1>

{% blockeditable content %}
Put your default text here!
{% endblockeditable %}
</div>
```

The `blockeditable` tags works with translation tags inside of it. So if you already
have a translated site, you can wrap your content with this tag and only
add text nodes for some of the languages that you support.

### Content editing

![django-text in action](/docs/printscreen.png)

Now add text nodes with the corresponding names in the Django Admin. Currently raw text and [markdown](http://daringfireball.net/projects/markdown/) is supported.

Missing text nodes will be added to the database automatically when their
template tags are rendered. Blocktags will be added with their default
text and inline tags will be added with the name of the node as the text content.

To disable automatic updating of missing text nodes add the following to your settings.

```python
AUTOPOPULATE_TEXT = False
```

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

django-text-1.2.2.tar.gz (86.3 kB view details)

Uploaded Source

File details

Details for the file django-text-1.2.2.tar.gz.

File metadata

  • Download URL: django-text-1.2.2.tar.gz
  • Upload date:
  • Size: 86.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for django-text-1.2.2.tar.gz
Algorithm Hash digest
SHA256 75714a2f3fb754f2f43dd6c996c4f1621bdf64901576ddfe55fde8f649caa711
MD5 0e5b91b7d37fdafd6252a1c083c04a6f
BLAKE2b-256 6c948a91f05009e80f2dee8f8fd0cdc8fb861e9ba5b83a538376d18d03362484

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