django-markdownx/docs-src/example.rst
2017-05-04 11:24:06 +01:00

80 lines
No EOL
1.9 KiB
ReStructuredText

Example
=======
Have you:
- successfully :doc:`installed MarkdownX<installation>`?
- followed the instructions on how to :doc:`get started<getting_started>`?
If so, you are set for the next step. Here you can find comprehensive examples of how to use different **MarkdownX**
features to your advantage.
Model
-----
This is how you implement a **MarkdownX** field in your models. In your :guilabel:`app/models.py`:
.. code-block:: python
:linenos:
from markdownx.models import MarkdownxField
class MyModel(models.Model):
myfield = MarkdownxField()
... and then, include the form media in the relevant template using ``{{ form.media }}``, like so:
.. code-block:: html
<form method="POST" action="">{% csrf_token %}
{{ form }}
</form>
{{ form.media }}
.. note::
The field extends Django's own TextField_ and is saved in the database accordingly.
Form
----
You can also implement **MarkdownX** through the forms. This will be done in your :guilabel:`app/forms.py` as follows:
.. code-block:: python
:linenos:
from markdownx.fields import MarkdownxFormField
class MyForm(forms.Form):
myfield = MarkdownxFormField()
... and then, include a form's required media in the template using ``{{ form.media }}``:
.. code-block:: html
<form method="POST" action="">{% csrf_token %}
{{ form }}
</form>
{{ form.media }}
Django Admin
------------
When using included ``MarkdowxModel`` class in your models, just use ``MarkdownxModelAdmin`` in
your :guilabel:`app/admin.py` as follows:
.. code-block:: python
:linenos:
from django.contrib import admin
from markdownx.admin import MarkdownxModelAdmin
from .models import MyModel
admin.site.register(MyModel, MarkdownxModelAdmin)
.. _TextField: https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.TextField