You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1023 B
41 lines
1023 B
from django.db import models |
|
|
|
from markupfield.fields import MarkupField |
|
from markupfield.markup import markdown, rst |
|
|
|
|
|
CUSTOM_MARKUP_TYPES = ( |
|
('markdown', markdown.MarkdownMarkup), |
|
rst.MARKUP_DESCRIPTION, |
|
) |
|
|
|
|
|
class Post(models.Model): |
|
title = models.CharField(max_length=50) |
|
body = MarkupField('body of post') |
|
|
|
def __unicode__(self): |
|
return self.title |
|
|
|
|
|
class Article(models.Model): |
|
normal_field = MarkupField() |
|
markup_choices_field = MarkupField(markup_choices=(('pandamarkup', lambda x: 'panda'), |
|
('nomarkup', lambda x: x))) |
|
default_field = MarkupField(default_markup_type='text/x-markdown') |
|
markdown_field = MarkupField(markup_type='text/x-markdown') |
|
|
|
|
|
class Abstract(models.Model): |
|
content = MarkupField() |
|
|
|
class Meta: |
|
abstract = True |
|
|
|
|
|
class Concrete(Abstract): |
|
pass |
|
|
|
|
|
class CustomArticle(models.Model): |
|
text = MarkupField(markup_choices=CUSTOM_MARKUP_TYPES, default_markup_type='text/x-rst')
|
|
|