|
|
@ -1,4 +1,5 @@ |
|
|
|
from django.db import models |
|
|
|
from django.db import models |
|
|
|
|
|
|
|
from django.utils import timezone |
|
|
|
import re |
|
|
|
import re |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -9,13 +10,6 @@ class Post(models.Model): |
|
|
|
text = models.TextField() |
|
|
|
text = models.TextField() |
|
|
|
pub_date = models.DateTimeField("date published") |
|
|
|
pub_date = models.DateTimeField("date published") |
|
|
|
|
|
|
|
|
|
|
|
@property |
|
|
|
|
|
|
|
def org_text(self): |
|
|
|
|
|
|
|
"""Вернет text заменив html на org.""" |
|
|
|
|
|
|
|
text = self.text |
|
|
|
|
|
|
|
text = re.sub(r"(<strong>(.+?)</strong>)", r"\*\2\*") |
|
|
|
|
|
|
|
return text |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
def __str__(self): |
|
|
|
return self.title |
|
|
|
return self.title |
|
|
|
|
|
|
|
|
|
|
@ -27,3 +21,17 @@ class Post(models.Model): |
|
|
|
class Meta: |
|
|
|
class Meta: |
|
|
|
verbose_name = "Статья" |
|
|
|
verbose_name = "Статья" |
|
|
|
verbose_name_plural = "Статьи" |
|
|
|
verbose_name_plural = "Статьи" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Image(models.Model): |
|
|
|
|
|
|
|
"""Изображение в посте. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пост может иметь несколько картинок. При удалении поста удаляются |
|
|
|
|
|
|
|
все изображения к нему относящиеся. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
""" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
slug = models.CharField(max_length=250, blank=True, null=True) |
|
|
|
|
|
|
|
image = models.ImageField() |
|
|
|
|
|
|
|
upload_date = models.DateTimeField(default=timezone.now) |
|
|
|
|
|
|
|
post = models.ForeignKey(Post, on_delete=models.CASCADE) |
|
|
|