Эй, чуваки, теперь я создаю приложение, в котором я могу писать статьи, посты, учебные пособия и так далее, и теперь мне нужны отличные полезные редакторы, чтобы писать что-то, потому что мне нужен отличный инструмент.
вот именно сейчас у меня сильно сухая система для написания статей. Даже если я использую пробелы, пробел между текстом и т.д., у меня с этим проблемы, в моих статьях вижу сам результат:
В общем, меня бесит беспредел, который здесь царит, и хотелось бы с этим покончить, чтобы в моих статьях не было такого бардака. Для того, чтобы его организовать, мне понадобится какой-нибудь инструмент, который будет придавать моему тексту порядок, а также помогать в процессе написания статей. В нашем случае мы будем использовать: «django-summernote».
Давайте установим его!
pip install django-summernote
добавьте его в settings.py, как показано выше, чтобы получить что-то вроде этого:
Другой момент — добавить URL-адрес в наш urls.py вот так!
и мигрируй!
python manage.py migrate
в моем models.py мне нужно кое-что изменить:
from django.db import models from django.utils.text import slugify from django.urls import reverse class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() pub_date = models.DateTimeField('date published') image = models.ImageField(upload_to='images/', null=True, blank=True) def __str__(self): return self.title class Editorial(models.Model): title = models.CharField(max_length=200) slug = models.SlugField(unique=True) thumbnail = models.ImageField(upload_to='images/', null=True, blank=True) content = models.TextField(null=True) def save(self, *args, **kwargs): if not self.slug: potential_slug = slugify(self.title) if Editorial.objects.filter(slug=potential_slug).exists(): i = 1 while Editorial.objects.filter(slug=potential_slug + '-' + str(i)).exists(): i += 1 self.slug = potential_slug + '-' + str(i) else: self.slug = potential_slug super().save(*args, **kwargs) def get_absolute_url(self): return reverse('editorial', args=[str(self.slug)]) def __str__(self): return self.title
как видите у меня есть:
class Editorial(models.Model): title = models.CharField(max_length=200) slug = models.SlugField(unique=True) thumbnail = models.ImageField(upload_to='images/', null=True, blank=True) content = models.TextField(null=True) class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() pub_date = models.DateTimeField('date published') image = models.ImageField(upload_to='images/', null=True, blank=True)
Нам нужно сосредоточиться на: «content = models.TextField(null=True)»
и измените его на: ‘content = SummernoteTextField(null=True)’и импортируйте необходимую библиотеку:‘from django_summernote.fields import SummernoteTextField’
Давайте заменим «контент» в редакциях и статьях!
Models.py
from django.db import models from django.utils.text import slugify from django.urls import reverse from django_summernote.fields import SummernoteTextField class Article(models.Model): title = models.CharField(max_length=200) content = SummernoteTextField(null=True) pub_date = models.DateTimeField('date published') image = models.ImageField(upload_to='images/', null=True, blank=True) def __str__(self): return self.title class Editorial(models.Model): title = models.CharField(max_length=200) slug = models.SlugField(unique=True) thumbnail = models.ImageField(upload_to='images/', null=True, blank=True) content = SummernoteTextField(null=True) def save(self, *args, **kwargs): if not self.slug: potential_slug = slugify(self.title) if Editorial.objects.filter(slug=potential_slug).exists(): i = 1 while Editorial.objects.filter(slug=potential_slug + '-' + str(i)).exists(): i += 1 self.slug = potential_slug + '-' + str(i) else: self.slug = potential_slug super().save(*args, **kwargs) def get_absolute_url(self): return reverse('editorial', args=[str(self.slug)]) def __str__(self): return self.title
Как вы можете видеть выше, мы изменили «content = SummernoteTextField(null=True)» и добавили «from django_summernote.fields import SummernoteTextField».
Последнее, что нам нужно сделать, это изменить файл «Admin.py».
Admin.py
from django.contrib import admin from .models import Article, Editorial admin.site.register(Article) admin.site.register(Editorial)
at:
from django.contrib import admin from django_summernote.admin import SummernoteModelAdmin from .models import Editorial class EditorialAdmin(SummernoteModelAdmin): summernote_fields = ('content',) admin.site.register(Editorial, EditorialAdmin)
и сейчас :
python manage.py makemigrations
и сейчас:
python manage.py migrate
а затем: сервер запуска python manage.py
И СОХРАНИТЕ!
Это все братцы!
# немного саморекламы
Привет! Меня зовут Дориан, и я управляю небольшой компанией по разработке программного обеспечения. Мое предложение для вас.
— Интернет-магазины и сайты
— Веб и мобильные приложения
— Компьютерная графика
— Автоматизация процессов
— Боты, API и инфраструктура
— Брендинг
> — Внедрение искусственного интеллекта (ИИ)
— Плагины WordPress и PrestaShop и др.
— Смарт-контракты / Запуск собственной криптовалюты / NFT.
— Внедрение технологии WEB3 / Блокчейн в бизнесе.
Вы хотите создать свой собственный криптопроект на основе какого-либо приложения или просто хотите создать свою криптовалюту или NFT?
Хотите внедрить технологии WEB3 и блокчейн в свой бизнес?
— Веб-сайт: www.travilabs.com
Свяжитесь с нами:
Facebook: https://www.facebook.com/profile. php?id=100091601081883
Электронная почта: [email protected]