diff --git a/BestNotesProject/settings.py b/BestNotesProject/settings.py index 385d1cf..a38ff4b 100644 --- a/BestNotesProject/settings.py +++ b/BestNotesProject/settings.py @@ -44,6 +44,7 @@ INSTALLED_APPS = [ 'django.contrib.messages', 'django.contrib.staticfiles', 'widget_tweaks', + 'tinymce', ] MIDDLEWARE = [ @@ -125,3 +126,18 @@ USE_TZ = True # https://docs.djangoproject.com/en/2.2/howto/static-files/ STATIC_URL = '/static/' + + +TINYMCE_JS_URL = "https://cdn.tiny.cloud/1/no-api-key/tinymce/5.1.4-66/tinymce.min.js" + +TINYMCE_DEFAULT_CONFIG = { + 'height' : 500, + 'plugins': "image,imagetools,media,codesample,link,code", + 'cleanup_on_startup': True, + 'menubar': False, + 'toolbar': "styleselect |undo redo | bold italic | alignleft aligncenter alignright | link image media codesample code", + 'image_caption': True, + 'image_advtab': True, + 'custom_undo_redo_levels': 10, + 'file_browser_callback' : "myFileBrowser" +} \ No newline at end of file diff --git a/BestNotesProject/urls.py b/BestNotesProject/urls.py index 79d2524..3ee2ef8 100644 --- a/BestNotesProject/urls.py +++ b/BestNotesProject/urls.py @@ -20,5 +20,6 @@ from bestnotes.views import homepage urlpatterns = [ path('bestnotes/', include('bestnotes.urls')), path('', homepage, name='homepage'), + path(r'^tinymce/', include('tinymce.urls')), path('admin/', admin.site.urls), ] diff --git a/bestnotes/forms.py b/bestnotes/forms.py new file mode 100644 index 0000000..df9bf83 --- /dev/null +++ b/bestnotes/forms.py @@ -0,0 +1,8 @@ +from django import forms +from tinymce.widgets import TinyMCE + +class EditorForm(forms.Form): + content = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}),required=True) + subject = forms.CharField(label="subject", max_length=30, required=True) + topic = forms.CharField(label="topic", max_length=30, required=True) + name = forms.CharField(label="name", max_length=30, required=True) \ No newline at end of file diff --git a/bestnotes/migrations/0004_note_content.py b/bestnotes/migrations/0004_note_content.py new file mode 100644 index 0000000..d62c0a5 --- /dev/null +++ b/bestnotes/migrations/0004_note_content.py @@ -0,0 +1,20 @@ +# Generated by Django 2.2.7 on 2019-12-22 12:22 + +from django.db import migrations +import tinymce.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('bestnotes', '0003_note'), + ] + + operations = [ + migrations.AddField( + model_name='note', + name='content', + field=tinymce.models.HTMLField(default='test', verbose_name='Content'), + preserve_default=False, + ), + ] diff --git a/bestnotes/models.py b/bestnotes/models.py index 8c78b99..880ef0e 100644 --- a/bestnotes/models.py +++ b/bestnotes/models.py @@ -5,6 +5,8 @@ from django.db import models from django.contrib.auth.models import User from django.db.models.signals import post_save from django.dispatch import receiver +from tinymce import models as tinymce_models + class StudentProfile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) @@ -48,6 +50,7 @@ class Topic(models.Model): class Note(models.Model): name = models.CharField(max_length=30) + content = tinymce_models.HTMLField("Content") text = models.TextField(blank=False) topic = models.ForeignKey(Topic, on_delete=models.SET_NULL, null=True) user = models.ForeignKey(StudentProfile, on_delete=models.CASCADE) diff --git a/bestnotes/templates/add.html b/bestnotes/templates/add.html new file mode 100644 index 0000000..95a6951 --- /dev/null +++ b/bestnotes/templates/add.html @@ -0,0 +1,22 @@ +{% extends 'base.html' %} +{% load widget_tweaks %} +{% load static %} +{% block css %} +{% endblock %} +{% block content %} +{% include 'navbar.html' %} + +
{% csrf_token %} +
+ {% render_field form.name class="form-control mb-2 mt-4" id="name" placeholder="Wpisz nazwe notatki" %} + {% render_field form.subject class="form-control mb-2" name="subject" id="subject" placeholder="Wpisz przedmiot" %} + {% render_field form.topic class="form-control mb-2" id="topic" placeholder="Wpisz temat" %} +
+ {% render_field form.content id="content" %} + + + + + + +{% endblock %} \ No newline at end of file diff --git a/bestnotes/templates/base.html b/bestnotes/templates/base.html index bd812b0..2ba299c 100644 --- a/bestnotes/templates/base.html +++ b/bestnotes/templates/base.html @@ -5,7 +5,7 @@ - + {{ form.media }} diff --git a/bestnotes/templates/navbar.html b/bestnotes/templates/navbar.html index 66aae13..d617da8 100644 --- a/bestnotes/templates/navbar.html +++ b/bestnotes/templates/navbar.html @@ -9,7 +9,7 @@